我特林以實現使用MVVM模式RequestNavigate
行爲DataGrid
內插入超鏈接,並找到一個方法超鏈接的使用。細胞模板與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>
,並按照相關ICommand
發展:
//Command for open link
RelayCommand _openLinkCommand;
public ICommand OpenLinkCommand
{
get
{
if (_openLinkCommand == null)
_openLinkCommand = new RelayCommand(param =>
{
//Command Body ...
});
return _openLinkCommand;
}
}
我哪裏錯了?意外的是,ICommand
從來沒有被稱爲!
我試着也使用其他類型的事件(如MouseEnter
),但什麼都沒有改變!
預先感謝您的貢獻,
德比
位於該對象的OpenLinkCommand通過DataRow中所代表,或者是命令在你的ViewModel中? – 2013-03-04 14:33:45
其實它在我的ViewModel ... – Deby 2013-03-04 14:51:00