通过 xaml 构建简单的对象
本文关键字:对象 简单 构建 xaml 通过 | 更新日期: 2023-09-27 18:35:50
我有一个简单的类,我想通过xaml简单地创建我的类的实例。但我仍然收到诸如"'测试'成员无效,因为它没有限定类型名称"之类的错误。
UserControl1.xaml.cs:
namespace WpfTestApplication1
{
public class UserControl1 : UserControl
{
public string Test { get; set; }
public UserControl1()
{
}
}
}
用户控制1.xaml:
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfTestApplication1">
<local:UserControl1>
<Setter Property="Test" Value="aaaa" />
</local:UserControl1>
</ResourceDictionary>
请帮忙。
您在UserControl
上设置Property
的方式无效。您已经通过将Setter
放在节点内来设置UserControl
的Content
。
如果您希望测试成为绑定目标,请首先将其定义为DependencyProperty
,然后直接在UserControl上将其设置为
<local:UserControl1 Test="aaaa"/>
尝试使用 DependencyProperty 而不是默认属性。
正如@us3r所说...依赖属性是你正在寻找的。
你要做的是:
// Dependency Property
public static readonly DependencyProperty TestProperty =
DependencyProperty.Register( "Test", typeof(string),
typeof(UserControl1 ));
// .NET Property wrapper
public string Test
{
get { return GetValue(TestProperty ).; }
set { SetValue(TestProperty , value); }
}
终于我发现了。我将 xaml 中的控件定义为
<local:UserControl1 x:Key="xxx" Test="aaaa"/>
不使用 setter 和属性语句,只需直接定义属性即可。感谢您的帮助!