如何在Silverlight Telerik Radgrid中公开超链接按钮的命令

时间:2011-06-26 17:16:04

标签: silverlight mvvm telerik prism radgridview

为了给你背景,我正在使用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>

基本上,我想对列名称上的文本进行一些处理,然后导航到详细信息页面。

有人可以帮我吗...

2 个答案:

答案 0 :(得分:2)

我发现我做错了什么。我已将viewModel中的Model对象绑定到Grid,当我在ViewModel中编写绑定命令时,我指出它需要将数据上下文更改为我的viewmodel。

无论如何,我最终编写了一个委托,并在Model类中公开了一个事件,并在ViewModel中订阅了该事件,我使用自定义的EventHandlerArgs处理了该事件。

答案 1 :(得分:-1)

使用Caliburn Micro,绑定是无缝的,如果你命名控制,让我们说'SelectDetail',相邻的ViewModel的方法也应该命名为SelectDetail。更重要的是,如果你创建一个名为CanSelectDetail的布尔属性,将会有一个'自动'绑定到IsEnabled Hyperlikn的属性