C#-MaterialDesign多个对话框

我正在使用mahapp和materialdesign开发一个桌面应用程序.我试图在同一个userControl中有两个不同的对话框.他们看起来像这样:

<materialDesign:DialogHost x:Name="MachineDialogWindow" Identifier="2" Visibility="{Binding Visibility, ElementName=card}">
<grid></grid>
</materialDesign:DialogHost>

 <materialDesign:DialogHost x:Name="DialogWindow" Visibility="{Binding ActiveDirectoryResult, Mode=OneWay, UpdateSourceTrigger=PropertyChanged, Converter={StaticResource NullVisibilityConverter}}">
<grid></grid>
</materialDesign:DialogHost>

为了简化起见,我删除了大部分代码.当我尝试像这样在C#中创建一个dialoghost时:

var view = new MachineNameDialogView();
            {
                DataContext = new MachineNameDialogViewModel();
            }
            ;

            //show the dialog
var result = await DialogHost.Show(view, AddAdministratorEventHandlerOpenedEventHandler,
                                         AddAdministratorClosingEventHandler);

它工作正常,但在错误的Dialoghost中显示了窗口.我在第一个窗口中添加了一个标识符,但我不知道如何将其与Dialoghost.show命令C#-MaterialDesign多个对话框一起传递
我需要dialogClosingEventHandler,但是我可以看到Object dialogIdentifier的方法重载.所以我的问题是有可能同时兼顾两者的优势吗?以及如何将标识符2作为对象传递给方法?

解决方法:

我想到了.现在我觉得很蠢.我上面发布的“图片”底部的圆点分别表示有更多的超载. C#-MaterialDesign多个对话框
我所做的就是右键单击Dialoghost.Show,然后单击“ Peek Definition”(Alt F12),然后找到

public static Task<object> Show(object content, object dialogIdentifier, DialogOpenedEventHandler openedEventHandler, DialogClosingEventHandler closingEventHandler);

希望这将来能对某人有所帮助:)

上一篇:会议预约管理信息系统(三)


下一篇:图像标签(2)