gpt4 book ai didi

c# - MaterialDesign 多个对话框

转载 作者:行者123 更新时间:2023-11-30 16:02:57 25 4
gpt4 key购买 nike

我正在使用 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 命令一起传递 Dialoghost.show
我需要 dialogClosingEventHandler,但我可以看到有一个带有 Object dialogIdentifier 的方法重载。所以我的问题是,有没有可能两全其美,两者兼得?以及如何将我的标识符 2 作为对象传递给该方法?

最佳答案

我想通了。现在我觉得自己很愚蠢。我在上面发布的图片底部的点显然意味着有更多的过载。 Peek Definition
我所做的只是右键单击 Dialoghost.Show 并单击 Peek Definition (Alt+F12) 并找到

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

希望这至少可以帮助将来的某个人:)

关于c# - MaterialDesign 多个对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37065578/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com