【发布时间】:2023-03-28 11:32:01
【问题描述】:
我有一个 listView 并希望在选择项目时从 DataContext 更新公共值。 我知道我可以通过列表视图中的 SelectedItem 执行此操作,我想使用数据触发器执行此操作(如果可能)。
代码:
<Window.DataContext>
<local:MainWindowViewModel></local:MainWindowViewModel>
</Window.DataContext>
<Grid>
<ListView ItemsSource="{Binding listsToDisplay}">
<ListView.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding listName}"></TextBlock>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type ListViewItem}}, Path=IsSelected}" Value="True">
<Setter Property="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:MainWindowViewModel}}, Path=listWidth}" Value="1"></Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
【问题讨论】:
标签: wpf data-binding triggers dependency-properties