WPF - 控制可见性 - 更好地使用绑定?

时间:2018-05-15 15:16:18

标签: c# wpf

对于我的应用程序,我正在更新我的很多控件以更好地合并MVVM模式,因为当我最初启动项目时,我以前从未使用过WPF。

我的问题是,是否有可能对数据绑定过于疯狂,或者我应该几乎完全使用它?

例如,假设我有两个名为Grid_Sample1和Grid_Sample2的网格。可以基于用户单击按钮来查看这些网格。所以我有一个关于该按钮的事件,我要么折叠它们,要么让它们可见。在活动中,我可以写下以隐藏它们:

Grid_Sample1.Visibility = Visibility.Collapsed;
Grid_Sample2.Visibility = Visibility.Collapsed;

或者我可以解决绑定其可见性属性的问题:

private Visibility _grid_Sample1Visibility 
public Visibility Grid_Sample1Visibility
{
    get
    {
        return _grid_Sample1Visibility ;
    }
    set
    {
        _grid_Sample1Visibility = value;
        OnPropertyChanged("Grid_Sample1Visibility");
     }
}

然后通过绑定切换可见性。

经验丰富的WPF用户首选方法是什么?有没有理由将绑定用于这么简单的事情?

1 个答案:

答案 0 :(得分:3)

  

经验丰富的WPF用户首选方法是什么?

后者,即在视图模型类中实现应用程序逻辑,该视图模型类与视图中定义的可视表示分开。

  

有没有理由将绑定用于这么简单的事情?

MVVM模式的主要动机是它提供了应用程序中不同组件之间关注点的分离,这使得随着时间的推移更容易维护和发展。小型应用程序通常会在某些时候变得更大,从一开始就遵循MVVM指南不会对您造成伤害。 MVVM还极大地提高了应用程序的可测试性,即使对于最小的应用程序也是如此。

因此,建议可能是学习和实现MVVM模式。它是在开发基于XAML的UI应用程序时使用的 推荐模式,这是有原因的。

理想情况下,视图应该只包含标记和任何不属于视图模型的视图相关逻辑。