gpt4 book ai didi

wpf - WPF中的Button.DialogResult在哪里?

转载 作者:行者123 更新时间:2023-12-03 13:41:46 28 4
gpt4 key购买 nike

System.Windows.Forms.Button中有一个属性DialogResult,在System.Windows.Controls.Button(WPF)中此属性在哪里?

最佳答案

没有内置的Button.DialogResult,但是您可以使用简单的附加属性创建自己的(如果需要):

public class ButtonHelper
{
// Boilerplate code to register attached property "bool? DialogResult"
public static bool? GetDialogResult(DependencyObject obj) { return (bool?)obj.GetValue(DialogResultProperty); }
public static void SetDialogResult(DependencyObject obj, bool? value) { obj.SetValue(DialogResultProperty, value); }
public static readonly DependencyProperty DialogResultProperty = DependencyProperty.RegisterAttached("DialogResult", typeof(bool?), typeof(ButtonHelper), new UIPropertyMetadata
{
PropertyChangedCallback = (obj, e) =>
{
// Implementation of DialogResult functionality
Button button = obj as Button;
if(button==null)
throw new InvalidOperationException(
"Can only use ButtonHelper.DialogResult on a Button control");
button.Click += (sender, e2) =>
{
Window.GetWindow(button).DialogResult = GetDialogResult(button);
};
}
});
}


这将使您可以编写:

<Button Content="Click Me" my:ButtonHelper.DialogResult="True" />


并获得与WinForms等效的行为(单击按钮将导致对话框关闭并返回指定的结果)

关于wpf - WPF中的Button.DialogResult在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1759372/

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