wpf - 从另一个视图模型调用函数时,RaisePropertyChanged 不更新属性
问题描述
该类用于绑定列表框和选定列表中的搜索结果,它将在概览面板中显示结果,两者都是两个不同的视图模型。
public class SearchClients : Client
{公共客户客户;
private void SelectedClient(int PartyId)
{
List<Client> c = this.fileService.FindClients(PartyId, "", "").ToList();
if (c.Count > 0)
{
Client = c[0];
}
OverviewPageViewModel viewModel = this.injector.Resolve<OverviewPageViewModel>("OverviewPage");
viewModel.SelectedClient(Client);
}
}
搜索面板视图模型
public class SearchBar : BaseContentViewModel
{
private void FindClients()
{
List<Client> C = fileService.FindClients(0, SrchFirstName, SrchLastName).ToList();
}
public ICommand FindClient
{
get
{
return new RelayCommand(FindClients);
}
}
}
结果面板视图模型
public class OverviewPageViewModel: BaseContentViewModel
{
public void SelectedClient(Client Client)
{
Title = Client.TitleID;
FirstName = Client.FirstName;
LastName = Client.LastName;
}
}
解决方案
ViewModel 在标签导航中被分配了基类 IContentViewModel,它应该使用具有所有属性的 OverviewPageViewModel 启动。解决了!!
错误的:
IContentViewModel viewModel = injector.Resolve<IContentViewModel>(TabPage);
正确的:
IContentViewModel viewModel = injector.Resolve<IContentViewModel>(TabPage);
if (TabPage == "OverviewPage")
{
injector.Resolve<ViewModels.Windows.MainWindowViewModel>().CurrentPageViewModel = injector.Resolve<OverviewPageViewModel>(TabPage);
}
else
{
//viewModel.ClearData();
injector.Resolve<ViewModels.Windows.MainWindowViewModel>().CurrentPageViewModel = viewModel;
}
推荐阅读
- python - 根据另一列的值提取一个单元格的值 - Pandas / Python
- android - 在 RecyclerView 水平滚动上使用动画滑动 ViewPager - Android
- javascript - 我如何在前端 js 变量中使用车把数据
- angular - Angular 6:Renderer 2 - 使用 Renderer2 渲染自定义组件不起作用
- r - 将 tibble 中的每一行转换为列标题
- django - 没有证词与给定的查询匹配
- laravel-5.7 - Laravel 5.7,登录重定向回登录
- shopify - 如何将脚本添加到 shopify 应用程序的前端
- java - 在spring boot rest api中将图像发送到角度客户端?
- spring-boot - 更多关于使用 keycloak-spring-security-adapter 的 CLOSE_WAIT