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

如何在Silverlight Telerik Radgrid中公开超链接按钮的命令,silverlight,mvvm,telerik,prism,radgridview,Silverlight,Mvvm,Telerik,Prism,Radgridview,为了给你们提供背景,我使用Silverlight+MVVM和PRISM 我有一些主数据要显示在网格中,并且第一列作为详细数据的超链接。 我试图公开一些超链接按钮的命令,但它似乎工作不好 这是我的XAML-> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn Header="Detail ID"> <tele

为了给你们提供背景,我使用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>


... [其他栏目]

使用Caliburn Micro,绑定是无缝的,如果您命名控件,比如说“SelectDetail”,相邻ViewModel的方法也应该命名为SelectDetail。更重要的是,如果您创建一个名为CanSelectDetail的布尔属性,那么将有一个“automagic”绑定到IsEnabled Hyperlikn的属性

我发现我做错了什么。我已将viewModel中的一个模型对象绑定到网格,当我在viewModel中编写绑定命令时,我无法指定它需要将数据上下文更改为我的viewModel

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