2012-11-27 31 views
1

我正在開發一個使用C#和XAML的應用程序,並且遇到了令我困惑的問題。我在我的數據中有一個屬性,名爲GroupImage,並使用綁定將它設置爲Source屬性Image。這工作得很好,但當我想再次做同樣的事情時,它不會在第二個控制中顯示圖像。Windows 8數據綁定

<Image Source="{Binding Group.GroupImage}" Width="250" Height="500" Stretch="UniformToFill" /> 

<Image VerticalAlignment="Bottom" Stretch="UniformToFill" Source="{Binding Group.GroupImage}" Grid.RowSpan="2"/> 

頂部的一個很好,但底部沒有。我一直在閱讀關於數據綁定的知識,並得到了一個印象,您需要指定DataContext中的某些內容來多次使用屬性。這是正確的嗎?這似乎是一個很奇怪的做法。

我對C#比較陌生,所以對不起,如果我失去了明顯的東西。我會很感激知識更淵博的對着我訴說什麼英寸

感謝

更新繼我想通了,上下文是被設定爲

DataContext="{Binding Group}" 

而作爲一個結果,我收到了我的援助由於數據上下文已被設置爲組,因此第二行需要更改爲以下內容。

<Image VerticalAlignment="Bottom" Stretch="UniformToFill" Source="{Binding GroupImage}" Grid.RowSpan="2"/> 
+0

應該有什麼不妥多個控件綁定到同一個'DataContext'財產。你確定這兩個圖像具有相同的'DataContext'? – khellang

+0

'VerticalAlignment ='Bottom''可以讓'Image'有一個ActualHeight爲0嗎?你有沒有嘗試給第二個'圖像'特定的尺寸? – Lukazoid

+0

當你說「它不會讓我」時,你是什麼意思?編譯器錯誤?例外?任何綁定錯誤?發佈您看到的錯誤。 – TarkaDaal

回答

1

你並不需要指定在DataContext東西使用屬性不止一次。但是您的兩個Image必須具有合適的DataContext(您可以使用調試器輕鬆測試),具體取決於它們在可視化樹上的位置(您沒有提供DataContext部件的任何代碼?)。

你也可以檢查你的ImageWidth/Height不爲0

+0

是的,當我檢查調試器時,數據上下文已經被設置在一個我並不期待的地方。感謝您的幫助和耐心與新手。 – MillyMonster