如何在WPF材质设计中更新dialoghost的内容?

时间:2019-11-30 02:04:10

标签: c# wpf xaml prism mvvm-light

当我在打开dialoghost的过程中将新的usercontrol打开到dialoghost中时,发生此错误: enter image description here

当我按下提交按钮时 这是我的代码xaml:

MainWindow:

<Grid>

    <Button Content="Show"
            Command="{Binding OpenRegisCommand}"
            VerticalAlignment="Bottom"
            Margin="0 0 0 40"
            Foreground="White"
            Width="100"
            Background="#23A9F2">

    </Button>

    <md:DialogHost Identifier="RootDialogHostId">

    </md:DialogHost>

</Grid>

我的用户控件和我的主窗口使用1个视图模型:

public MainViewModel()
        {
            OpenRegisCommand = new DelegateCommand(OpenFormRegis);
            Submit = new DelegateCommand(Check);
        }

        private async void Check()
        {
            if(Name.Equals("admin")&&Pass.Equals("123456"))
            {
                var view = new DialogOk();
                await DialogHost.Show(view, DialogHostId);
            }
            else
            {
                var view = new DialogNo();
                await DialogHost.Show(view, DialogHostId);
            }

        }

        private async void OpenFormRegis()
        {
            var view = new FormRegis();
            await DialogHost.Show(view, DialogHostId);
        }

按钮提交在我的用户控件中,绑定到我视图模型中的 DelegateCommand Submit

1 个答案:

答案 0 :(得分:0)

每个对话主机可用于一次显示一个视图。

如果您想同时拍摄两个视图(不太可能),您将需要两个对话主机。

就您而言,如果您尝试在对话主机中打开“OpenFormRegis”窗口,我建议您改用 Windows。