3 回答

TA貢獻1934條經驗 獲得超2個贊
這是WPF的限制,它是設計使然。在Connect上有報道,這里:
只讀依賴項屬性的OneWayToSource綁定
我提出了一個解決方案,可以動態地將只讀的依賴項屬性推到PushBinding我在此處寫過博客的源中。下面的例子不OneWayToSource綁定從只讀DP的ActualWidth和ActualHeight到的寬度和高度屬性DataContext
<TextBlock Name="myTextBlock">
<pb:PushBindingManager.PushBindings>
<pb:PushBinding TargetProperty="ActualHeight" Path="Height"/>
<pb:PushBinding TargetProperty="ActualWidth" Path="Width"/>
</pb:PushBindingManager.PushBindings>
</TextBlock>
PushBinding通過使用兩個依賴項屬性Listener和Mirror來工作。偵聽器綁定OneWay到TargetProperty,并在PropertyChangedCallback其中更新Mirror屬性,該屬性綁定OneWayToSource到Binding中指定的任何內容。
演示項目可以在這里下載。
它包含源代碼和簡短的示例用法,如果您對實現細節感興趣,請訪問我的WPF博客。
- 3 回答
- 0 關注
- 948 瀏覽
相關問題推薦
添加回答
舉報