添加 MX-PD-盘古 项目文件
将 MX-PD-盘古 - new 目录下的所有文件添加到主仓库
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
using System.Windows;
|
||||
|
||||
namespace MainShell.Common
|
||||
{
|
||||
public class WindowService
|
||||
{
|
||||
// 定义一个名为 DialogResult 的附加属性
|
||||
public static readonly DependencyProperty DialogResultProperty =
|
||||
DependencyProperty.RegisterAttached(
|
||||
"DialogResult",
|
||||
typeof(bool?),
|
||||
typeof(WindowService),
|
||||
new PropertyMetadata(DialogResultChanged)); // 当此属性值改变时,调用 DialogResultChanged 方法
|
||||
|
||||
// 提供 Set 方法供外部设置附加属性的值
|
||||
public static void SetDialogResult(UIElement element, bool? value)
|
||||
{
|
||||
element.SetValue(DialogResultProperty, value);
|
||||
}
|
||||
|
||||
// 提供 Get 方法供外部获取附加属性的值
|
||||
public static bool? GetDialogResult(UIElement element)
|
||||
{
|
||||
return (bool?)element.GetValue(DialogResultProperty);
|
||||
}
|
||||
|
||||
// 当 DialogResult 附加属性的值改变时调用的回调方法
|
||||
private static void DialogResultChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
// 确保附加属性应用在一个 Window 控件上,并且新的值是 bool 类型
|
||||
if (d is Window window && e.NewValue is bool result)
|
||||
{
|
||||
// 设置窗口的 DialogResult
|
||||
window.DialogResult = result;
|
||||
// 关闭窗口
|
||||
window.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user