【发布时间】:2021-11-30 22:05:52
【问题描述】:
我有一个ListView,其项目由ItemTemplate 表示,如下所示:
<ListView dependencyObjects:InterestingItem.Interesting="{Binding InterestingItem}"
ItemsSource="{Binding Quotations}" >
<ListView.ItemTemplate>
<DataTemplate>
<Border>
<Grid>
<StackPanel x:Name="NotImportant">
</StackPanel>
<Grid x:Name="HiddenGrid"
Background="Red"
Visibility="Hidden" >
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<Grid.Triggers>
<DataTrigger Binding="{Binding Path=DataContext.InterestingItem,
RelativeSource={RelativeSource AncestorType={x:Type ListView }}}"
Value="*this instance here*!">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
</Grid.Triggers>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
</Grid>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
ListView 有一个附加属性InterestingItem,它是ListView 中的一项。
我无法连接的是当InterestingItem 与其中一项相同时,第二个Grid 应该变得可见。
我不希望更改并绑定到列表中的实际对象 - 而是让ListView 控制要更改的项目。
我需要的DataTrigger中的Value是什么?
【问题讨论】:
标签: wpf xaml listview data-binding datatrigger