【发布时间】:2016-05-06 06:17:29
【问题描述】:
我正在使用 mahapp 和 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>
为了简单起见,我删除了大部分代码。当我尝试像这样在 C# 中创建一个对话主机时:
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 作为对象传递给方法?
【问题讨论】:
标签: c# wpf xaml dialog material-design-in-xaml