Ich entwickle eine Desktop-Anwendung mit Mahapp und Materialdesign. Ich versuche, zwei verschiedene Dialoge im selben Benutzersteuerelement zu haben. Sie sehen so aus:MaterialDesign mehrere Dialoge
<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>
Ich habe den Großteil des Codes entfernt, um es einfach zu halten. Wenn ich versuche, eine dialoghost in C# wie diese zu erstellen:
var view = new MachineNameDialogView();
{
DataContext = new MachineNameDialogViewModel();
}
;
//show the dialog
var result = await DialogHost.Show(view, AddAdministratorEventHandlerOpenedEventHandler,
AddAdministratorClosingEventHandler);
Es funktioniert gut, aber zeigt das Fenster in der falschen Dialoghost. Ich habe eine Kennung zum ersten Fenster hinzugefügt, aber ich weiß nicht, wie man das mit dem Befehl
übergibt Ich brauche den dialogClosingEventHandler, aber ich kann sehen, dass es eine Methode Überladung mit Object dialogIdentifier
gibt. Also meine Frage ist es möglich, das Beste aus beiden Welten zu bekommen und beides zu bekommen? Und wie kann ich meine Kennung 2
als Objekt an die Methode übergeben?