Code Bye

WPF DataGrid 列的绑定为什么无效?

<Window x:Class="WPF5.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Name="MyWindow" Height="350" Width="525">
    <Grid Margin="0,0,276,122">
        <DataGrid>
            <DataGrid.Columns>
                <DataGridTextColumn Header="姓名" Visibility="{Binding ElementName=MyWindow, Path=WylzColumn}"/>
                <DataGridTextColumn Header="年龄"/>
            </DataGrid.Columns>
        </DataGrid>
        <Button Content="Button" HorizontalAlignment="Left" VerticalAlignment="Top" Width="75" Margin="319,155,-153,0" Visibility="{Binding ElementName=MyWindow, Path=WylzColumn}"/>
    </Grid>
</Window>

 

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
    public static readonly DependencyProperty WylzColumnProperty = DependencyProperty.Register("WylzColumn", typeof(Visibility), typeof(MainWindow), new FrameworkPropertyMetadata(Visibility.Collapsed)); //注册依赖项属性
    public Visibility WylzColumn
    {
        get { return (Visibility)GetValue(WylzColumnProperty); }
        set { SetValue(WylzColumnProperty, value); }
    }
}

窗口有一个Visibility 类型的依赖性属性WylzColumn。窗体中有一个DataGrid,”姓名”列的Visibility属性值绑定到窗体的WylzColumn值上,同时,有一个Button的Visibility属性值也是绑定到窗体的WylzColumn值上。
可结果是,Button的绑定有效果,Button也没有显示,但是”姓名”列的绑定却没有效果,仍然显示。
这是什么原因呢?


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明WPF DataGrid 列的绑定为什么无效?