通过 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>

请帮忙。

通过 xaml 构建简单的对象

您在UserControl上设置Property的方式无效。您已经通过将Setter放在节点内来设置UserControlContent

如果您希望测试成为绑定目标,请首先将其定义为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 和属性语句,只需直接定义属性即可。感谢您的帮助!