2011-02-06 27 views
5

我有一個UI元素,其顏色我想基於頁面中的局部變量(實際上在模塊中,但我可以將它移動到頁面)來設置。WP7綁定到本地變量

我在WPF一個看到可以通過使可變的屬性和設置綁定的RelativeSource使用FindAncestor父類的UI元素到本地變量綁定:

WPF Binding to local variable

不幸的是Silverlight似乎不支持FindAncestor模式。

任何可能的解決方案,還是我必須創建一個自定義類的實例,而這樣只是爲這個變量?

回答

7

在過去的幾周裏,我一直從Silverlight跳到WPF,所以下面的想法可能會或可能不會飛。

您的頁面上是否設置了名稱屬性?如果沒有,請設置它(x:Name =「MyPage」)。

那麼你可以做:

Fill="{Binding ElementName=MyPage, Path=MyProperty}" 

給一個嘗試(只是把我的頭頂部)

+0

+1,我即將發表相同的答案。元素名稱綁定是缺少FindAncestor的常用(較弱)解決方法。 FWIW,FindAncestor綁定在Silverlight 5中出現,所以希望這最終可以通向手機。 – 2011-02-06 09:40:29