![](/img/trans.png)
[英]How to call method in window (.xaml.cs) from viewmodel (.cs) without introducing new references in wpf
[英]How to call a method in xaml.cs file from BaseViewModel xamarin
我需要在Baseviewmodel
中触发事件时打开alert dialog
。 alert dialog
打开逻辑写在xaml.cs
文件的button
单击处理程序中。
//BaseViewModel event
void CloseDialog()
{
//Call xaml.cs file `OpenDiaglog` event here
}
这是我需要调用的xaml.cs
文件的方法
void OpenDiaglog()
{
lblZoomedView.IsVisible = true;
zoomViewFrame.IsVisible = true;
innerpersonnelGrid.IsVisible = false;
btnNextZoomedView.IsVisible = true;
btnNext.IsVisible = false;
}
我需要使用MessagingCenter
或Subscsribers
,我该怎么做?
使用MessegingCenter
解决了这个问题。
在BaseViewModel
//BaseViewModel event
void CloseDialog()
{
//Call xaml.cs file `OpenDiaglog` event here
MessagingCenter.Send(Xamarin.Forms.Application.Current, "Hi");
}
在xaml.cs
文件中
protected override void OnAppearing()
{
base.OnAppearing();
MessagingCenter.Subscribe<Xamarin.Forms.Application>(Xamarin.Forms.Application.Current, "Hi", (sender) =>
{
OpenDiaglog();
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.