今天我重建了一個 WPF 應用程式 - .NET Framework 4.8 - 我們的測驗人員回復我說出現了一個錯誤:
TwoWay 或 OneWayToSource 系結無法在只讀屬性上作業
錯誤本身不是問題。我立即認出它是什么,去了有問題的系結,添加Mode=OneWay并且問題消失了。
但問題來了
原始系結已經在代碼中。只是在不同的控制上。它在那里沒有引起問題......但是如果它系結到的屬性是只讀的,它不應該在任何地方使用它都會引起問題嗎?
這讓我如此困擾的原因是我們的測驗人員還報告說,在引發錯誤之前,應用程式似乎“很慢”。所以我想到在應該使用 OneWay 系結的地方使用 TwoWay 系結,即使 WPF 以某種方式捕獲和處理錯誤,也會造成性能影響。如果是這種情況,我需要采取行動。
因此,我的問題是:
- WPF 是否有時會處理 TwoWay 系結錯誤,以便應用程式繼續作業,即使 TwoWay 系結不合適
- 不恰當地使用 TwoWay 系結會導致顯著的性能影響,我應該解決它嗎?
uj5u.com熱心網友回復:
WPF 是否有時會處理 TwoWay 系結錯誤,以便應用程式繼續作業,即使 TwoWay 系結不合適
它在 .NET Framework 4.5.1 之前就已完成。自此更新以來,它InvalidOperationException準確地說“A TwoWay 或 OneWayToSource 系結不能在只讀屬性上作業”。
不恰當地使用 TwoWay 系結會導致顯著的性能影響,我應該解決它嗎?
不,但是您顯然應該避免將 TwoWay 系結到只讀屬性以避免出現例外。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429089.html
標籤:wpf 数据绑定 .net-framework-4.8
