我正在使用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
命令一起传递
我需要dialogClosingEventHandler,但我可以看到有
Object dialogIdentifier
的方法重载。所以我的问题是有可能获得两全其美并获得两者兼而有之?如何将标识符2
作为对象传递给方法?
答案 0 :(得分:3)