AdornerDecorator的CacheMode繫結和windows鎖屏導致TableControl鎖死問題

william1994發表於2024-08-29

有個wpf專案,從.net framework 4.0剛出來就在用,現在慢慢的系統從win xp到win10了。

升級到.net 8後發現一個怪異的現象,就是當windows按Win+L鎖屏後,某個TableControl裡面的TableItem無法啟用了,就和Disable了一樣的現象。

經過各種嘗試,最終逐步刪程式碼,發現一個子控制元件裡面的依據程式碼刪了就好了。

控制元件的 ControlResource/Style/Setter/Template[Value]裡面有個自己父型別的ControlTemplate,/ViewBox/Grid/AdornerDecorator,

程式碼如下:

<AdornerDecorator CacheMode="{Binding RelativeSource={RelativeSource Self}, Path=(wpf:ShadowAssist.CacheMode)}">
<Ellipse >
</Ellipse>
</AdornerDecorator>

把它的CacheMode刪了就好。

真是神奇。

相關文章