1

我设置了一个显示标题、图像、玩家集合和时间的用户控件。在我将其插入 GridView 并尝试将这些属性绑定到元素的值之前,这非常有效。

现在它报告了许多错误,特别是“无法识别或无法访问成员'X'”。这发生在我的绑定中:

<GridView.ItemTemplate>
    <DataTemplate>
        <local:GamePane Map="{Binding Map}" Players="{Binding Players}"/>
    </DataTemplate>
</GridView.ItemTemplate>

我正在使用 DependencyProperties 来尝试让一切正常工作,如下所示:

    public string Map
    {
        get { return (string)GetValue(MapProperty); }
        set
        {
            SetValue(MapProperty, value);
        }
    }

    public static readonly DependencyProperty MapProperty =
    DependencyProperty.Register(
        "Map",                    
        typeof(string),           
        typeof(GamePane),         
        new PropertyMetadata(     
            "Unknown",            
            ChangeMap)
        );

但是,这使我的代码得以编译,即使在我通过绑定指定了不同的内容之后,它们现在也只是返回默认值。我究竟做错了什么?

4

1 回答 1

0

我会回答这个问题,因为我发现我做错了。

在用户控件中,我将其数据上下文设置为自身。这导致了我遇到的问题。删除此数据上下文修复了所有问题。

于 2012-10-18T04:29:51.417 回答