問題: 定義了預設TextBlock樣式後,再次自定義下拉框 or 其他控制項 ,當內部含有TextBlock時,設置控制項的字體相關樣式無效,系統始終使用TextBlock設置預設樣式 解決方案: 為相關控制項定義數據模板,為內部TextBlock添加樣式資源,指向預設資源。 具體為啥會有這種問題不清楚 ...
問題:
- 定義了預設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是最簡的,消耗的電腦資源也最小】
解:奇葩史