亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

XAML中只讀屬性的OneWayToSource綁定

XAML中只讀屬性的OneWayToSource綁定

絕地無雙 2019-11-30 10:14:23
我正在嘗試Readonly使用OneWayToSourceas模式綁定到屬性,但是似乎無法在XAML中完成此操作:<controls:FlagThingy IsModified="{Binding FlagIsModified,                                           ElementName=container,                                           Mode=OneWayToSource}" />我得到:無法設置屬性“ FlagThingy.IsModified”,因為它沒有可訪問的集合訪問器。IsModified是只讀DependencyProperty的FlagThingy。我想將該值綁定到FlagIsModified容器上的屬性。要清楚:FlagThingy.IsModified --> container.FlagIsModified------ READONLY -----     ----- READWRITE --------僅使用XAML可以做到嗎?更新:嗯,我通過在容器而不是上設置綁定來解決這種情況FlagThingy。但是我仍然想知道這是否可能。
查看完整描述

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博客。


查看完整回答
反對 回復 2019-11-30
  • 3 回答
  • 0 關注
  • 948 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號