Silverlight SL3导航框架&x2B;MVVM灯
感谢您抽出时间阅读我的问题。非常感谢您的指导 我正在LOB应用程序中使用SL3导航框架。我目前使用MVVM Light作为框架指南 我有一个由员工组成的datagrid,当“用户”点击datagrid中的“员工id链接”时,我将用户转移到“编辑页面”。我想将“员工id”作为查询参数转移到“编辑页面” 这里的问题是:我可以访问EditStaffView.xaml.cs中的查询参数——我不想这样做Silverlight SL3导航框架&x2B;MVVM灯,silverlight,silverlight-3.0,mvvm,navigation,mvvm-light,Silverlight,Silverlight 3.0,Mvvm,Navigation,Mvvm Light,感谢您抽出时间阅读我的问题。非常感谢您的指导 我正在LOB应用程序中使用SL3导航框架。我目前使用MVVM Light作为框架指南 我有一个由员工组成的datagrid,当“用户”点击datagrid中的“员工id链接”时,我将用户转移到“编辑页面”。我想将“员工id”作为查询参数转移到“编辑页面” 这里的问题是:我可以访问EditStaffView.xaml.cs中的查询参数——我不想这样做 protected override void OnNavigatedTo(Navigatio
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (this.NavigationContext.QueryString.ContainsKey("staffcode"))
{
string title = this.NavigationContext.QueryString["staffcode"];
}
}
我想在viewmodel中检索查询参数,并基于该查询参数执行某些操作。调用构造函数时,我希望“视图”传递staffid,如下所示
public EditStaffViewModel(int staffId)
{
LoadData(staffId);
}
我正在datagrid动态构建我的超链接按钮,如下所示:
staffListingModel.HyperlinkNavigationUri=string.Format(“{0}{1}”,NavigationUri.DataEntryEditStaff,“?staffcode={”+staffListingModel.staffcode+“}”)
而且XAML看起来
超链接按钮
Content=“{Binding StaffCode,Mode=TwoWay}”NavigateUri=“{Binding HyperlinkNavigationUri}”>HyperlinkButton
你知道怎么做吗
谢谢你的帮助。
穆拉里我不会同意这个质询。 因为您正在使用MVVM Light Toolkit。看一看Messenger,利用公共用户模式。类似于PRISM Eventaggregator 发送“Staffcode”并订阅需要利用它的每个viewmodel。您还可以发送整个employe对象 Messenger.Default.Send(已选择员工) Messenger.Default.Subscribe(此); 请参阅此链接了解Messing: 事件聚合器: 在深度链接和导航与mvvm相结合的情况下,您必须考虑不同的问题。ViewModels之间的通信应由Messeng完成。事件聚合器或信使 希望这有助于