2012-10-16 75 views
1

我已經設置了一個顯示標題,圖像,播放器集合和時間的用戶控件。這工作很好,直到我堅持到一個GridView,並試圖將這些屬性綁定到元素的值。將用戶控件用作DataTemplate和綁定屬性

現在它報告了一些錯誤,具體地說,「成員'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) 
     ); 

這引起了但是我的代碼編譯,現在他們只返回默認甚至在我通過綁定指定了不同的東西之後。我究竟做錯了什麼?

+0

要理解爲什麼綁定不起作用,瞭解DataContext繼承鏈非常重要。你需要展示你如何設置DataContext和什麼對象。 – Denis

+0

GridView的綁定是使用Name.ItemsSource = X語句手動完成的。 – Runewake2

回答

0

我會回答這個問題,因爲我發現我做錯了。

在用戶控件中,我將它設置爲自身的數據上下文。這是我遇到的問題。刪除這個數據上下文修復了一切。

相關問題