[英]Restore dynamic resource value
我有一個帶有樣式的文本塊tb 。
<TextBlock x:Name="tb" Style="{DynamicResource H1Style}" Text="Test"/>
<Style TargetType="{x:Type TextBlock}" x:Key= "H1Style">
<Setter Property="FontSize" Value="18" />
<Setter Property="FontWeight" Value="Light"/>
</Style>
然后我改變大小
tb.FontSize = 5;
如何恢復 tb 的 H1Style 風格?
我嘗試設置SetResourceReference ,但 FontSize 仍然是 5 而不是 18。
tb.SetResourceReference(Control.StyleProperty, "H1Style");
這一行 - tb.FontSize = 5;
- 將本地值分配給 TextBlock 的 FontSize 屬性。 有一種方法可以撤消分配 - ClearValue()方法:
tb.ClearValue(TextBlock.FontSizeProperty);
FontSize 是一個依賴屬性,它的值是根據DP 值優先級計算的
DP值優先級列表中有3個來源:
當地價值5
樣式設置器值18
FontSize
DP 的默認值
ClearValue()
刪除本地值,導致重新計算,下一個值由 Style Setter 提供,它在當前來源中具有最高優先級
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.