【发布时间】:2015-05-08 13:11:19
【问题描述】:
我有一个工作超链接如下:
XAML:
<TextBlock >
<Hyperlink Command="{Binding NavHomeViewCommand}" >
<Run Text="{Binding PersonSelected.PersonKnownName}" />
</Hyperlink>
</TextBlock>
构造函数:
navHomeViewCommand = new DelegateCommand(NavHomeView);
命令:
private readonly ICommand navHomeViewCommand;
public ICommand NavHomeViewCommand
{
get
{ return navHomeViewCommand; }
}
private void NavHomeView()
{
int val;
val = PersonSelected.PersonKnownID);
var parameters = new NavigationParameters();
parameters.Add("To", val);
_regionManager.RequestNavigate("MainRegion", new Uri("HomeView", UriKind.Relative), parameters);
}
如果我想拥有多个超链接,例如...
<Hyperlink Command="{Binding NavHomeViewCommand}" >
<Run Text="{Binding PersonSelected.PersonKnownName}" />
</Hyperlink>
<Hyperlink Command="{Binding NavHomeViewCommand}" >
<Run Text="{Binding PersonSelected.PersonKnownName2}" />
</Hyperlink>
<Hyperlink Command="{Binding NavHomeViewCommand}" >
<Run Text="{Binding PersonSelected.PersonKnownName3}" />
</Hyperlink>
我是否必须为每个命令创建一个新命令,或者是否有办法将每个超链接的不同参数 (int) 传递到现有的 NavHomeView 命令,以便我可以重用此命令?
【问题讨论】:
标签: c# wpf command parameter-passing prism