为了给你背景,我正在使用Silverlight + MVVM和PRISM。
我有一些要在网格中显示的主数据,并且第一列是作为详细数据的超链接。 我试图为超链接按钮公开一些命令,但它似乎没有正常工作。
这是我的XAML - >
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Detail ID">
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<HyperlinkButton Content="{Binding DetailID}"
Command="{Binding SelectGridItemCommand}"
CommandParameters={Binding}
/>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewDataColumn>
... [other columns]
</<telerik:RadGridView.Columns>
基本上,我想对列名称上的文本进行一些处理,然后导航到详细信息页面。
有人可以帮我吗...
答案 0 :(得分:2)
我发现我做错了什么。我已将viewModel中的Model对象绑定到Grid,当我在ViewModel中编写绑定命令时,我指出它需要将数据上下文更改为我的viewmodel。
无论如何,我最终编写了一个委托,并在Model类中公开了一个事件,并在ViewModel中订阅了该事件,我使用自定义的EventHandlerArgs处理了该事件。
答案 1 :(得分:-1)
使用Caliburn Micro,绑定是无缝的,如果你命名控制,让我们说'SelectDetail',相邻的ViewModel的方法也应该命名为SelectDetail。更重要的是,如果你创建一个名为CanSelectDetail的布尔属性,将会有一个'自动'绑定到IsEnabled Hyperlikn的属性