欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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中进行设置将无效’

相关标签: wpf datatrigger