【问题标题】:Hide Silverlight DataGrid using MVVM使用 MVVM 隐藏 Silverlight DataGrid
【发布时间】:2011-12-24 15:50:58
【问题描述】:

如何使用 MVVM 绑定数据网格可见性,以便在没有数据的情况下,将 DataGrid 的可见性设置为 Collapsed,以使代码可重用。
谢谢。

【问题讨论】:

    标签: silverlight mvvm datagrid


    【解决方案1】:

    在 ViewModel 中公开类似的属性

    // In setter consider INotifyPropertyChanged 
    public bool IsDataAvailable
    {
      get; set;
    }
    

    在 XAML 中:

    <DataGrid Visibility="{Binding IsDataAvailable, 
                          Converter={StaticResource BooleanToVisibilityConverter}}" />
    

    一些有用的链接:

    【讨论】:

    • 我尝试过使用它,但仅在第一次加载网格时才有效(我设置了一个断点来监控它,并且只在第一次被击中)如果我单击搜索按钮,断点不会被击中。这是否与 VISIBILITY 属性不是依赖属性有关?
    • 我相信因为您的 ViewModel 中不支持 INotifyPropertyChanged,请在 StackOverflow 中搜索 INotifyPropertyChanged 和 cusotm 属性,例如 this SO post
    • 我确实实现了 INotifyPropertyChanged。是否有一个工作示例显示单击搜索按钮以获取数据网格上的数据时可见性工作?可见性不像 ItemsSource 属性。
    • 如果项目源为空,是否有人使用行为显示/隐藏数据网格?
    • @user282807 : 你的意思是什么行为?
    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 2014-09-06
    • 1970-01-01
    • 2013-12-17
    相关资源
    最近更新 更多