Я разрабатываю настольное приложение с махаппом и материальным дизайном. Я пытаюсь иметь два разных диалога в одном userControl. Они выглядят так:MaterialDesign несколько диалогов
<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>
Я удалил большую часть кода, чтобы это было просто. Когда я пытаюсь создать dialoghost в C# как это:
var view = new MachineNameDialogView();
{
DataContext = new MachineNameDialogViewModel();
}
;
//show the dialog
var result = await DialogHost.Show(view, AddAdministratorEventHandlerOpenedEventHandler,
AddAdministratorClosingEventHandler);
Он отлично работает, но показывает окно в неправильном Dialoghost. Я добавил идентификатор в первое окно, но я не знаю, как передать это вместе с командой Dialoghost.show
Мне нужен диалогClosingEventHandler, но я вижу, что существует метод перегрузки с Object dialogIdentifier
. Итак, мой вопрос - можно ли получить лучшее из обоих миров и получить оба? И как я могу передать свой идентификатор 2
как объект метода?