0

我有一个简单的类,我想简单地通过 xaml 创建我的类的实例。但我仍然收到如下错误:“'Test' 成员无效,因为它没有合格的类型名称。”

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>

请帮忙。

4

4 回答 4

1

尝试使用DependencyProperty而不是默认属性。

于 2013-10-18T08:56:47.710 回答
1

您设置的方式Property无效UserControl。您已经通过放入节点来设置Content您的。UserControlSetter

首先将 Test 定义为DependencyProperty您希望它成为绑定目标,然后直接在 UserControl 上将其设置为

 <local:UserControl1 Test="aaaa"/>
于 2013-10-18T09:34:13.227 回答
0

正如@us3r 所说...DependencyProperty 是您正在寻找的。

你要做的是:

// 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); }
}
于 2013-10-18T09:08:08.157 回答
0

最后我发现了。我将 xaml 中的控件定义为

<local:UserControl1 x:Key="xxx" Test="aaaa"/>

不使用setter和property语句,直接定义属性即可。感谢帮助!

于 2013-10-18T09:33:33.493 回答