Data binding 无法获取对Xaml中clr对象的引用以进行数据绑定

Data binding 无法获取对Xaml中clr对象的引用以进行数据绑定,data-binding,windows-8,windows-applications,Data Binding,Windows 8,Windows Applications,我将尝试跟随代码示例,将数据绑定到clr对象 这个例子说明 <DockPanel xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:c="clr-namespace:SDKSample"> <DockPanel.Resources> <c:M

我将尝试跟随代码示例,将数据绑定到clr对象

这个例子说明

<DockPanel
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:c="clr-namespace:SDKSample">
  <DockPanel.Resources>
    <c:MyData x:Key="myDataSource"/>
  </DockPanel.Resources>
  <DockPanel.DataContext>
    <Binding Source="{StaticResource myDataSource}"/>
  </DockPanel.DataContext>
  <Button Background="{Binding Path=ColorName}"
          Width="150" Height="30">I am bound to be RED!</Button>
</DockPanel>
我创建了“src”名称空间,如图所示。但是,VisualStudio不识别“Person”,希望在其前面添加“MainPage+Person”。我得到以下错误

添加到IDictionary的所有对象都必须具有键属性或某些属性 与它们关联的其他类型的键


因此,我对这一点以及“MainPage+Person”感到困惑。我假设我需要一种方法来告诉XAML不仅是对象的类型,而且还要获得我正在创建的实际对象的句柄。

不幸的是,WPF和Windows Store应用程序的XAML语法存在细微差异。DockPanel示例是WPF(DockPanel不是本机Windows应用商店控件),您的主页似乎来自Windows应用商店应用程序

从更改命名空间声明

xmlns:src="clr-namespace:HelloWindows"


使用
是Windows应用商店版本的
clr命名空间

谢谢您的帮助。我现在正在使用,但我仍然不知道在哪里将我的CLR(称为“person”)与XAML链接起来。我相信“钥匙”只是给了那个化名。我试过了,但似乎只想解析为local:假设Person类驻留在HelloWindows命名空间中,MainPage应该可以工作。听起来您可能在MainPage类中嵌套了Person类,这可能不是您想要的。是的。就是这样。我将该定义移到MainPage类之外,并解决了我的问题。谢谢你,吉姆
  public Person person = new Person();

    public class Person
    {
        public String name { get; set; }
    }
xmlns:src="clr-namespace:HelloWindows"
xmlns:src="using:HelloWindows"