更改 WPF 中的当前 属性 可见性

Changing the current property of visibility in WPF

我有一个带有 Visibility = "Hidden" 的网格,在我的 .cs 上我有一个函数可以更改网格的可见性属性 grid1.Visibility = Visibility.Visible; 但它似乎不起作用。如果在 XAML 中将其设置为隐藏,我该如何更改它的可见性

好吧,我已经有一段时间没有在 WPF 中编码了,但是如何将可见性绑定到模型中的 bool 呢?

public class MainWindowViewModel
{
    private bool _showGrid;

    public MainWindowViewModel()
    {
        _showGrid = false;
    }

    public bool ShowGrid        
    {
        get { return _showGrid; }
    }
}

然后在 XAML

<Window.DataContext>
  <VM:MainWindowViewModel />
</Window.DataContext>


<Grid Visibility="{Binding Path=ShowGrid, Converter={StaticResource Converter}}">
</Grid>

然后只需更改 _showGrid

的值
  1. 我猜你是通过直接在 cs 中访问网格来改变可见性,你可能没有遵循 MVVM。

无论如何,其他东西可能会改变可见性,我会在 "IsVisibleChanged" 上添加一个事件处理程序并从那里获取它,