2012-04-08 19 views
5

DataTriggers artık Silverlight ve Windows 8'de çalışmıyorsa, bu özelliği nasıl değiştireceğimi söyleyen var mı?Tetikleyiciler Windows 8 XAML'de desteklenmiyor mu?

Örneğin; Bir ListView veya GridView içinde

, bir öğenin bir değer x varsa,
if x == "True" 
StackPanel style= "MakeBackgroundGreen" 
else 
StackPanel style="MakeBackgroundRed" 

XAML ve C# (tercihli C# ancak herhangi bir dil kullanarak Windows 8 Metro stili uygulamasında böyle bir şey yaratmak için bir yol var mı

yapacağım).

Bazı kişilerin, VSM (Visual State Manager) kullanımından bahsettiklerini duydum, bunu nasıl yapabilirim?

Çok önceden teşekkürler.

+0

de bir göz atın .com/question/7439532/datatrigger-in-winrt –

+1

Üzgünüm? NOTHING, XAML'de, Windows 8 için değişti. WinRT'den mi bahsediyorsunuz? DataTriggers, windows 8'de çalışırken wpf uygulamasında tamamen çalışıyor. – TomTom

cevap

2

Böyle Görsel Devlet Yöneticisi kullanmak gerekecektir: Eğer böyle programlı durum değişiklikleri konusunda sonrasında

<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);