gpt4 book ai didi

c# - 如何在wpf控件构造函数中传递参数?

转载 作者:太空狗 更新时间:2023-10-29 19:52:34 31 4
gpt4 key购买 nike

我已经编写了我的控件并尝试传递参数以进行额外的初始化,但存在错误 =((tHE TYPE Ajustcontrol 不能有名称属性)。如何正确传递数据?这是我在 C# 中的代码:

public AjustControl(BaoC input)
{
InitializeComponent();
populateAdjustControl(input);
}

错误:错误 15 “AjustControl”类型不能有名称属性。值类型和没有默认构造函数的类型可以用作 ResourceDictionary 中的项。 470行位置26.D:\Prj\aaa\MainWindow.xaml 470 26 Studio

最佳答案

因此,正如错误所说。在 xaml 中,您不能拥有没有无参数构造函数的控件。如果您想从代码中实例化它,您仍然可以添加一个,但 xaml 不会调用该构造函数。

public AjustControl(BaoC input) : this()
{
populateAdjustControl(input);
}

public AjustControl()
{
InitializeComponent();
}

但是,如果您要求向您的控件添加自定义属性,您可以添加 DependancyProperty .

public static readonly DependencyProperty NameProperty= 
DependencyProperty.Register(
"Name", typeof(string),
...
);
public string Name
{
get { return (string)GetValue(NameProperty); }
set { SetValue(NameProperty, value); }
}

在此之后,您可以像这样使用您的控件

<custom:AjustControl Name="something" />

关于c# - 如何在wpf控件构造函数中传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8636740/

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