WPF XAML-如何将DataTrigger绑定到ComboBox值
我目前有一个ListView,它接收一个项目并显示一个组合框和一个按钮 我想根据组合框的值等于“BlahBlahBlah”来动态显示或隐藏按钮 当前,我的WPF XAML-如何将DataTrigger绑定到ComboBox值,wpf,xaml,combobox,datatemplate,datatrigger,Wpf,Xaml,Combobox,Datatemplate,Datatrigger,我目前有一个ListView,它接收一个项目并显示一个组合框和一个按钮 我想根据组合框的值等于“BlahBlahBlah”来动态显示或隐藏按钮 当前,我的的内部如下所示: <GridViewColumn Header="Property" Width="160"> <GridViewColumn.CellTemplate> <DataTemplate> <ComboBox x:Name="PropertyComboBox
的内部如下所示:
<GridViewColumn Header="Property" Width="160">
<GridViewColumn.CellTemplate>
<DataTemplate>
<ComboBox x:Name="PropertyComboBox"
ItemsSource="{Binding Path=ArisingPropertyList, Mode=TwoWay}"
SelectedValue="{Binding ArisingProperty.PropertyName,
UpdateSourceTrigger=PropertyChanged}"
SelectedValuePath="PropertyName" Width="140" >
</ComboBox>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="30" >
<GridViewColumn.CellTemplate>
<DataTemplate>
<Button Content="...">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=SelectedValue.PropertyName,
ElementName=PropertyComboBox}" Value="HideButton">
<Setter Property="Visibility" Value="BlahBlahBlah" />
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
您已经将
SelectedValue
属性绑定到源类,因此直接绑定到该属性而不是ComboBox。问题是ComboBox和Button位于不同的可视树中,所以不能使用ElementName绑定
<DataTrigger Binding="{Binding Path=ArisingProperty.PropertyName}"
Value="HideButton">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
<DataTrigger Binding="{Binding Path=ArisingProperty.PropertyName}"
Value="HideButton">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>