我想在a中插入一个超链接DataGrid并找到一个方法,以便RequestNavigate使用MVVM模式实现该行为.
到目前为止,我已经尝试了很多解决方案,但它们都没有奏效.请问你能帮帮我吗?
这是我的xaml代码:
<dgWPFCtrl:ExtDataGridTemplateColumn Header="Link to XXX" Width="*">
<dgWPFCtrl:ExtDataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock >
<Hyperlink NavigateUri="{Binding Path=ID_HTTP_LINK}"
>
<TextBlock Text="{Binding Path=ID_HTTP_LINK}"/>
<i:Interaction.Triggers>
<i:EventTrigger EventName="RequestNavigate">
<WPFCtrl:EventToCommand
PassEventArgsToCommand="True"
Command="{Binding Path=OpenLinkCommand}" />
</i:EventTrigger>
</i:Interaction.Triggers>
</Hyperlink>
</TextBlock>
</DataTemplate>
</dgWPFCtrl:ExtDataGridTemplateColumn.CellTemplate>
</dgWPFCtrl:ExtDataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)
并遵循相对ICommand发展:
//Command for open link
RelayCommand _openLinkCommand;
public ICommand OpenLinkCommand
{
get
{
if (_openLinkCommand == null)
_openLinkCommand = new RelayCommand(param =>
{
//Command Body ...
});
return _openLinkCommand;
}
}
Run Code Online (Sandbox Code Playgroud)
哪里我错了?没想到,ICommand甚至从未打过电话!
我也尝试过使用其他类型的事件(例如MouseEnter),但没有改变!
在此先感谢您的贡献,
德比