2011-01-16 8 views
10

मैं एक फोन 7 ऐप लिख रहा हूं और मैं मार्कअप में निरंतर मानों का संदर्भ देना चाहता हूं। मेरा मानना ​​है कि जिस तरह से ऐसा करना है उसे x:Static के माध्यम से करना है।मैं फ़ोन 7 सिल्वरलाइट ऐप्स के लिए {x: Static ...} एक्सटेंशन का उपयोग कैसे कर सकता हूं?

हालांकि, विजुअल स्टूडियो का दावा है कि इसे x:static का कोई ज्ञान नहीं है। यहाँ गुप्त सॉस क्या है?

<phone:PhoneApplicationPage 
    ... 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    ... 

    <Image Height="{x:Static App.ImageHeight}" ... /> 
    ... 

और निश्चित रूप से: मैं निम्नलिखित है

public partial class App : Application 
{ 
    public const double ImageHeight = 100; 
    ... 

त्रुटि संदेश है " 'एक्स: स्टेटिक' प्रकार। नहीं मिला था कि सत्यापित करें ..."।

उत्तर

17

x:Static केवल डब्ल्यूपीएफ में उपलब्ध है - न तो ब्राउज़र के लिए सिल्वरलाइट और न ही विंडोज फोन 7 के लिए सिल्वरलाइट इस मार्कअप एक्सटेंशन का समर्थन करता है।

सामान्य कामकाज एक (गैर स्थैतिक) वर्ग बनाना है जिसमें गुण हैं जो केवल स्थिर गुणों को लपेटते हैं, और संसाधन के रूप में इसका एक उदाहरण बनाते हैं और इस तरह से इसके खिलाफ बाध्य करते हैं।

उदाहरण *:

public class StaticSideEnums 
{ 
    public static Side Bid { get { return Side.Bid; } } 
    public static Side Ask { get { return Side.Ask; } } 
} 

संसाधनों में (App.xaml):

<ResourceDictionary> 
    <local:StaticSideEnums x:Key="StaticSideEnums"/> 
</ResourceDictionary> 

XAML में उपयोग की जा रही:

<toolkit:ListPicker Name="picker" SelectionChanged="OnSelectionChanged"> 
    <toolkit:ListPickerItem Content="Buy" Tag="{Binding Bid, Source={StaticResource StaticSideEnums}}" /> 
    <toolkit:ListPickerItem Content="Sell" Tag="{Binding Ask, Source={StaticResource StaticSideEnums}}" /> 
</toolkit:ListPicker> 

* इस उदाहरण से लिया जाता है Using localized strings in a ListPicker populated from Enum

+0

में एक उत्तर ठीक है, ठीक है, यह सिर्फ स्थिर होने के लिए बहुत सारे काम की तरह लगता है। लेकिन, ठीक है, अगर ऐसा है, तो यह कैसा है। धन्यवाद। –

+2

अपने विशिष्ट उपयोग के मामले के लिए, शायद एक शैली बेहतर होगी? फिर आप ऊंचाई को किसी भी चीज पर सेट कर सकते हैं, उस छवि का उपयोग सभी छवि तत्वों पर करें, और "एक बार बदलें, हर जगह लागू करें" का एक ही स्तर प्राप्त करें। –

+0

यह पूंजी "एस" के साथ 'एक्स: स्टेटिक 'है। एक्सएएमएल केस संवेदनशील है ... –

संबंधित मुद्दे