我需要在标头内更改Datagrid columns
visibility
context menu
。默认情况下,所有列可见性都在XAML代码中设置。
<DataGridTextColumn Visibility="Visible" Binding="{Binding Story}" Header="Story" />
我不想从ViewModel绑定每个列的可见性。 我想要的是,如果隐藏了所有列,则将所有列的可见性设置为Visible,反之亦然。所有这些都来自XAML代码而没有绑定列代码中的可见性。
答案 0 :(得分:1)
我添加了一个空列作为临时解决方案并在显示一个或多个列时将其删除,我已经通过遍历所有列并设置其可见性来实现我想要的点击事件。但我正在寻找使用Only XAML代码的解决方案。
MVVM 不关于消除代码。这是关于分离关注点。 XAML是一种标记语言。在控件本身或视图中添加代码来隐藏/显示DataGrid的列是完全没错的。