【问题标题】:How to Remove Diaglog Title Icon in Prism如何删除 Prism 中的对话框标题图标
【发布时间】:2020-06-11 10:49:14
【问题描述】:

我正在使用 prism 对话框在 MVVM 中显示对话框弹出窗口。

_iDialogService.ShowDialog("View", new DialogParameters(""), CallBackResult=>
            {
              var test = CallBackResult;
            });

有谁知道如何删除弹出标题图片

【问题讨论】:

    标签: c# wpf prism


    【解决方案1】:

    您在盘旋的内容来自 DialogWindow 而不是 Dialog View。因此,您需要提供一个按您想要的方式配置的自定义对话框窗口。

    请注意,您可以在 GitHub 上看到作为 Prism 的一部分提供的默认 DialogWindow

    您可以通过从对话框窗口继承并设置所需的属性来创建自己的对话框窗口。或者,您可能只想从 Window 继承并实现 IDialogWindow。

    public class MyDialogWindow : DialogWindow
    {
    }
    
    public class MyOtherDialogWindow : Window, IDialogWindow
    {
    }
    

    在您的 Bootstrapper 或 PrismApplication 中,您需要确保将您的 Window 与您的 Dialogs 一起注册:

    containerRegistry.RegisterDialog<MyDialog>();
    containerRegistry.RegisterDialogWindow<MyDialogWindow>();
    

    最后一定要在你使用DialogService的时候加上你的对话框的名字

    dialogService.ShowDialog("MyDialog", parameters, onDialogClosed, "MyDialogWindow");
    

    【讨论】:

    • 我正在使用 Prism 6,在我实现它之后它会抛出错误“对话框的内容必须是 FrameworkElement”我可能会错过什么?实现如下。
    • register: containerRegistry.RegisterDialogWindow&lt;MyDialogView&gt;();
    • call: _iDialogService.ShowDialog("MyDialogView", new DialogParameters(""), result =&gt; { SlideDescription = _viewModelShareData.SlideDescription; });
    • view: public class MyDialogViewModel : DependencyObject, INotifyPropertyChanged, IDialogWindow
    • viewmodel: public class MyDialogViewModel : DependencyObject, INotifyPropertyChanged, IDialogAware
    猜你喜欢
    • 2011-11-29
    • 1970-01-01
    • 2015-04-24
    • 2012-10-28
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多