我在寫標記擴展。我有這樣的XAML當前綁定值
<TextBlock Text="{ui:Test SomeInfo}" />
和帶構造函數的TestExtension帶一個字符串參數。我得到「SomeInfo」字符串,所以一切都找到了。現在我想嵌套擴展和寫東西像
<TextBlock Text="{ui:Test {Binding PropName}}" />
並且它不起作用。我不得不添加構造函數,該構造函數接受System.Windows.Data.Binding類型的一個參數。
現在我需要知道
- 我應該如何檢索來自綁定對象的電流值?
- 我應該什麼時候這樣做?我應該每次在ProvideValue方法中訂閱某種方式的變化還是要求這個值?
UPDATE1 PROPNAME應該反對的TextBlock的DataContext的解決。
UPDATE2剛剛發現相關的問題:How do I resolve the value of a databinding?
其實,我想使用Textblock的DataContext。 – adontz
@adontz:正如我所說,你可能最好使用一個普通的綁定與轉換器,讓自己的MarkupExtension內的綁定工作是一個痛苦。 –
我接受這種痛苦,因爲它爲標記用戶提供了對我來說更重要的更一致的語法。 – adontz