2012-04-08 11 views
5

ठीक है, अगर डेटा ट्रिगर अब सिल्वरलाइट और विंडोज 8 में काम नहीं करते हैं, तो क्या कोई मुझे बता सकता है कि इस सुविधा को कैसे बदला जाए?विंडोज 8 एक्सएएमएल में ट्रिगर्स समर्थित नहीं हैं?

उदाहरण के लिए;

एक ListView या GridView में, अगर एक आइटम एक मूल्य के एक्स है,

if x == "True" 
StackPanel style= "MakeBackgroundGreen" 
else 
StackPanel style="MakeBackgroundRed" 

वहाँ XAML और सी # (पसंदीदा सी #, लेकिन किसी भी भाषा का प्रयोग Windows 8 मेट्रो शैली अनुप्रयोग में कुछ इस तरह बनाने के लिए एक रास्ता है करूँगा)।

मैंने सुना है कि कुछ लोग वीएसएम (विजुअल स्टेट मैनेजर) का उपयोग करते हैं, मैं यह कैसे कर सकता हूं?

बहुत पहले से धन्यवाद।

+0

पर भी एक नजर डालें .com/प्रश्न/7439532/डेटाैट्रिगर-इन-विनर्ट –

+1

क्षमा करें? XAML में विन्डोज़ 8 के लिए कुछ भी नहीं बदला है। क्या आप WinRT की बात कर रहे हैं? विंडोज 8 में चलते समय डेटाट्रिगर्स मेरे डब्ल्यूपीएफ एप्लिकेशन पर पूरी तरह से ठीक काम करते हैं। – TomTom

उत्तर

2

आप इस तरह दृश्य राज्य प्रबंधक का उपयोग करना होगा: आप इस तरह प्रोग्राम के रूप में राज्य को बदल सकते हैं कि उसके बाद

<VisualStateManager.VisualStateGroups> 

     <!-- Visual states reflect the application's view state --> 
     <VisualStateGroup> 
      <VisualState x:Name="FullScreenLandscape"/> 
      <VisualState x:Name="Filled"/> 

      <!-- The back button respects the narrower 100-pixel margin convention for portrait --> 
      <VisualState x:Name="FullScreenPortrait"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="backButton" Storyboard.TargetProperty="Style"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource PortraitBackButtonStyle}"/> 
        </ObjectAnimationUsingKeyFrames> 
       </Storyboard> 
      </VisualState> 

      <!-- The back button and title have different styles when snapped --> 
      <VisualState x:Name="Snapped"> 
       <Storyboard> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="backButton" Storyboard.TargetProperty="Style"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedBackButtonStyle}"/> 
        </ObjectAnimationUsingKeyFrames> 
        <ObjectAnimationUsingKeyFrames Storyboard.TargetName="pageTitle" Storyboard.TargetProperty="Style"> 
         <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedPageHeaderTextStyle}"/> 
        </ObjectAnimationUsingKeyFrames> 

       </Storyboard> 
      </VisualState> 
     </VisualStateGroup> 
    </VisualStateManager.VisualStateGroups> 

: http: // stackoverflow

 VisualStateManager.GoToState(this, "stateName", true); 
संबंधित मुद्दे