1. 程式人生 > >設置TextBlock默認樣式後,其他控件的Text相關屬性設置失效問題

設置TextBlock默認樣式後,其他控件的Text相關屬性設置失效問題

temp 無效 href 問題: code 數據 fault invalid -i

原文:設置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是最簡的,消耗的電腦資源也最小】

解:奇葩史

設置TextBlock默認樣式後,其他控件的Text相關屬性設置失效問題