WPF MVVM绑定问题

E次奥 2013-11-27 05:01:06

DataGrid初始化的时候给他绑定一个集合,我给DataGrid添加了一个右键菜单,绑定他的列集合,为什么不显示?

 <DataGrid.ContextMenu>
<ContextMenu ItemsSource="{Binding Columns}">
<MenuItem Header="显示隐藏">
<MenuItem.ItemTemplate>
<HierarchicalDataTemplate>
<CheckBox Content="{Binding Header}" IsChecked="{Binding Visibility, Converter={StaticResource dateConverter}, Mode=TwoWay}"/>
</HierarchicalDataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>


求解决!

PS:我在ListBox中可以吧DataGrid的所有列显示出来,但是为什么在ContextMenu中不显示呢?
...全文
132 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
E次奥 2013-11-28
  • 打赏
  • 举报
回复
后台就直接给DataGrid绑定了ItemsSource,DataGrid可以正常显示内容!
E次奥 2013-11-28
  • 打赏
  • 举报
回复
引用 4 楼 qldsrx 的回复:
只有xaml代码,不见class部分,谁知道你的Columns是哪里定义的,谁知道你的DataContext属性设置的是什么。
  <DataGrid Grid.Row="0" x:Name="datagrid" IsReadOnly="True" FrozenColumnCount="2" AutoGenerateColumns="False">
            <DataGrid.ContextMenu>
                <ContextMenu ItemsSource="{Binding ElementName=datagrid,Path=Columns}">
                    <ContextMenu.ItemTemplate>
                        <HierarchicalDataTemplate>
                            <StackPanel Orientation="Horizontal">
                                <CheckBox Content="{Binding Header}" IsChecked="{Binding Visibility, Converter={StaticResource dateConverter}, Mode=TwoWay}"/>
                            </StackPanel>
                        </HierarchicalDataTemplate>
                    </ContextMenu.ItemTemplate>
                </ContextMenu>
            </DataGrid.ContextMenu> 
......
</DataGrid>
qldsrx 2013-11-28
  • 打赏
  • 举报
回复
只有xaml代码,不见class部分,谁知道你的Columns是哪里定义的,谁知道你的DataContext属性设置的是什么。
E次奥 2013-11-28
  • 打赏
  • 举报
回复
来人解决下啊!
小猪八Q 2013-11-27
  • 打赏
  • 举报
回复
首先确保你的ViewModel中没有Columns的值,并且Column中的实体包含Header属性和Visibility属性, 基本上可以确定你的绑定有问题
E次奥 2013-11-27
  • 打赏
  • 举报
回复
各位大神解决下,谢谢!

110,529

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧