設定TextBlock預設樣式後,其他控制元件的Text相關屬性設定失效問題
阿新 • • 發佈:2019-01-13
原文:
設定TextBlock預設樣式後,其他控制元件的Text相關屬性設定失效問題
問題:
- 定義了預設TextBlock樣式後,再次自定義下拉框 or 其他控制元件 ,當內部含有TextBlock時,設定控制元件的字型相關樣式無效,系統始終使用TextBlock設定預設樣式
解決方案:
- 為相關控制元件定義資料模板,為內部TextBlock新增樣式資源,指向預設資源。
具體為啥會有這種問題不清楚,解決方案參考:https://bbs.csdn.net/topics/390262033
<DataTemplate x:Key="DataTemplate3"> <Grid> <TextBlock > <TextBlock.Resources> <Style TargetType="{x:Type TextBlock}"/> </TextBlock.Resources> </TextBlock> </Grid> </DataTemplate>
建議:
- 儘量不要定義TextBlock預設樣式,寧可在每個控制元件上設定Style屬性,或者將使用TextBlock的地方改用Label,然後定義Label的預設樣式【不過個人覺得一般情況還是不要使用Label,畢竟TextBlock是最簡的,消耗的電腦資源也最小】
解:奇葩史