我在UWP一個綁定列表視圖,我要顯示或隱藏基於某些屬性內綁定使用VisualStateGroup的ListView
的XAML我使用的ItemTemplate裏面的一些控制是這裏結合的ObservableCollection
<ListView x:Name="lvwMovieWatchlist" ItemsSource="{x:Bind Books}" Margin="10">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid Orientation="Horizontal" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate x:DataType="data:BookModel">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border Width="156" Height="200">
<Image Source="{Binding CoverImage}" Stretch="UniformToFill"/>
</Border>
<StackPanel Grid.Column="1" Orientation="Vertical">
<TextBlock Text="{Binding Title}" Style="{StaticResource TitleTextBlockStyle}" TextWrapping="NoWrap" Margin="9.6,0"/>
<TextBlock Text="{Binding Name}" Style="{StaticResource SubtitleTextBlockStyle}" TextWrapping="NoWrap" Margin="9.6,0"/>
<StackPanel Orientation="Horizontal" Margin="10">
<Button Name="Btn_Download" Tag="{Binding}" Click="Btn_Download_Click"> DOWNLOAD</Button>
<Button Name="Btn_Read" Tag="{Binding}" Click="Btn_Read_Click"> READ</Button>
</StackPanel>
</StackPanel>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
的2個按鈕Btn_Download和Btn_Read在這裏提問 如果狀態屬性爲「讀」的話,我想設置能見度可見的Btn_Read否則顯示Btn_Download按鈕
在WPF我有三gger爲achieveing同樣喜歡
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding Status}" Value="read">
<Setter TargetName="Btn_Read" Property="Visibility" Value="Visible"/>
<Setter TargetName="Btn_Download" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</DataTemplate.Triggers>
但UWP沒有觸發僅VisualStateManager.VisualStateGroups是繳費。 所以,我如何能使其利用VisualStateGroup ItemTemplate中
是的,這樣可以工作,但我喜歡用VisualState製作它既然它完全控制了xaml本身,想學習VisualState的概念 –