如何解决MVVMCross WPF - 如何在 root (MvxWindow) 中加载 MaterialDesign DialogHost?
我正在尝试向我的测试应用程序添加可重复使用的对话主机。 但不幸的是,该应用程序总是抛出一个'没有加载的 DialogHost 实例。' 异常。
代码非常简单。
MainWindow.xaml
<views:MvxWindow
...
>
<materialDesign:DialogHost Identifier="RootDialog" />
</views:MvxWindow>
MainWindow.xaml.cs
public partial class MainWindow : MvxWindow
{
public MainWindow()
{
InitializeComponent();
}
}
App.xaml.cs
public partial class App : MvxApplication
{
protected override void RegisterSetup()
{
this.RegisterSetupType<MvxWpfSetup<Domain.App>>();
}
}
App.cs
public class App : MvxApplication
{
public override void Initialize()
{
...
RegisterappStart<Dashboardviewmodel>();
}
}
DashboardView.xaml
<views:MvxWpfView
...
>
...
<Button Content="ShowDialog"
Click="OnClick_ShowDialogAsync" />
...
</views:MvxWpfView>
DashboardView.xaml.cs
public partial class DashboardView : MvxWpfView
{
public HomeView()
{
InitializeComponent();
}
private async void OnClick_ShowDialogAsync(object sender,RoutedEventArgs e)
{
var view = new SampleDialog
{
DataContext = new SampleDialogviewmodel()
};
await DialogHost.Show(view,"RootDialog",ExtendedOpenedEventHandler,ExtendedClosingEventHandler);
}
...
}
但是当我放上这一行时:
<materialDesign:DialogHost Identifier="RootDialog" />
在 DashboardView.xaml 中它工作正常。
我错过了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。