'无效'属性类型或设计器错误?

时间:2014-07-20 16:59:27

标签: c# wpf

我有一个名为

的界面
ISquare  

有一个usercontrol MatrixGrid,它有一个公共属性

public List<List<ISquare>> Squares
{
    get { return (List<List<ISquare>>)GetValue(SquaresProperty); }
    set { SetValue(SquaresProperty);}
}

并且我能够在设计器中为此用户控件绑定它而没有任何问题。

如果我将MatrixGrid放在窗口中并尝试绑定到Squares属性,则设计器会抛出错误

The member "Squares" is not recognized or accessible

和设计师的Gui部分显示

Invalid Markup, check the error list for more information

运行程序,所有绑定都能正常工作,一切都没有问题。

这是设计师中的错误还是有关于此的某个规则?

我正在运行Visual Studio Express 2012 for Windows Desktop

我能够使用以下代码复制它

TestControl.xaml.cs

public partial class TestControl : UserControl
{
    public TestControl()
    {
        InitializeComponent();
    }
    public static DependencyProperty
        TestProperty = DependencyProperty.Register("MyTest", typeof(List<List<Test>>), typeof(TestControl));
    public List<List<Test>> MyTest { get { return (List<List<Test>>)GetValue(TestProperty); } set { SetValue(TestProperty, value); } }
}
public interface Test {}

TestWindow.xaml

<Window x:Class="simthing.TestWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:simthing"
    Title="TestWindow" Height="300" Width="300">
    <Grid>
        <local:TestControl MyTest="{Binding Tests}"/>
    </Grid>
</Window>

0 个答案:

没有答案