沒有辦法來解釋這個問題,除了通過例如:綁定到綁定:數據綁定 - 或間接在Metabinding WPF
假設你有一個自定義的UserControl
有兩個DependencyProperty
S,StatList Stats
和string ImportantStat
。用戶控件的工作是顯示一個表格,其中顯示Stats
中的所有值,但是具有ImportantStat
的特殊視覺處理(如餅圖)。
我的直覺是寫看起來或多或少像XAML的塊:
<PieChart Value="{Binding Path={Binding ImportantStat} }"/>
其中DataContext
是事先設定爲Stats
。因此,用戶通過ImportantStat = "WinPercentage"
,餅圖綁定到統計行的WinPercentage
屬性。但用戶可以輕鬆地選擇其他屬性來強調。
的問題(當然,你已經知道這一點,學歷堆)是你得到一個錯誤信息,說明您不能轉換從Binding
到string
,這是外Binding
預計,Path
。雖然我沒有證明自己,我猜這只是因爲Path
不是DependencyProperty
。
那麼,有什麼方法可以在這裏達到我的目標嗎?請隨意在第一段中打破我的假設。也許,例如,ImportantStat
不能是string
,但它本身必須是Binding
。
編輯:嘗試#1失敗
我希望從代碼隱藏新DependencyProperty
Binding ImportantStatBinding
暴露,讓我重寫XAML爲:
<PieChart Value="{Binding ImportantStatBinding, RelativeSource=... }"/>
...但無濟於事。間接Binding
只是卡在Value
本身沒有試圖解決它。
我的備份解決方案,這可能是在那裏,這是領導,將是剛剛創建裏面的內容代碼隱藏在那裏我有機會獲得ImportantStat
直接,因此可以用一個Binding.
'Stats'是什麼?它被輸入爲「StatList」,但顯然這是你的自定義類型。你能發佈一些'StatList'的代碼嗎? – 2015-02-09 09:50:14