微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MVVMCross WPF - 如何在 root (MvxWindow) 中加载 MaterialDesign DialogHost?

如何解决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 举报,一经查实,本站将立刻删除。