入坑之WPF使用MaterialDesign【第二天】简单对话框

效果图

入坑之WPF使用MaterialDesign【第二天】简单对话框_第1张图片

使用WPF简单对话框

定义对话框模板SampleMessageDialog.xaml


    
        
            
            
        
        
        
    

System.InvalidOperationException:“No loaded DialogHost instances.”

对应的SampleMessageDialog.cs

using System.Windows.Controls;

namespace test
{
    /// 
    /// Interaction logic for SampleMessageDialog.xaml
    /// 
    public partial class SampleMessageDialog : UserControl
    {
        public SampleMessageDialog()
        {
            InitializeComponent();
        }
    }
}

对应的函数

public async void MessageTips(string message, object sender, RoutedEventArgs e)
{
	var sampleMessageDialog = new SampleMessageDialog
	{
		Message = { Text = message }
	};
	await DialogHost.Show(sampleMessageDialog, "RootDialog");
}

在需要的位置使用

MessageTips("请确认", sender, e);

直接用,会报错:
System.InvalidOperationException:“No loaded DialogHost instances.”
原因是对话框放置的位置找不到,这个放置的位置就是这里的 RootDialog

await DialogHost.Show(sampleMessageDialog, "RootDialog");

需要在windows.xaml里设置,把GRID内容放入到如下容器里面


……

爬了一整天。

你可能感兴趣的:(学习实践)