WPF中DataTrigger不响应问题
程序员文章站
2022-07-13 23:03:21
...
正确的代码:
<TreeView
Grid.Row="2"
Grid.RowSpan="4"
Grid.Column="1"
Grid.ColumnSpan="2">
<TreeView.Style>
<Style TargetType="TreeView">
<Setter Property="Visibility" Value="Visible"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked,ElementName=BtnDatabase}" Value="false">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<!--<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Wheat"/>
</Trigger>-->
</Style.Triggers>
</Style>
</TreeView.Style>
</TreeView>
错误的代码:
<TreeView
visibility="visible"
Grid.Row="2"
Grid.RowSpan="4"
Grid.Column="1"
Grid.ColumnSpan="2">
<TreeView.Style>
<Style TargetType="TreeView">
<Style.Triggers>
<DataTrigger Binding="{Binding IsChecked,ElementName=BtnDatabase}" Value="false">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<!--<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Wheat"/>
</Trigger>-->
</Style.Triggers>
</Style>
</TreeView.Style>
</TreeView>
解释:
‘猜测原因,是控件的属性设置有比style中属性设置更高的优先级,所以在控件中已经设置的属性,如果再在style中进行设置将无效’
上一篇: jquery 多选框 checkbox 获取选中的框
下一篇: WPF教程(九)样式入门二