Đối với bất kỳ kiểu nào trong WPF, bạn nên có từ điển tài nguyên riêng biệt chứa các kiểu cho ứng dụng của bạn.
Nếu bạn muốn có một Kích thước phông chữ duy nhất được sử dụng lại trong suốt ứng dụng thì chỉ cần tạo kiểu cho kích thước phông chữ đó. Bạn có thể đặt tên/khóa duy nhất để sử dụng một cách rõ ràng hoặc bạn có thể đặt một targetType sẽ vượt qua toàn bộ ứng dụng.
Explicit chính:
<Style
x:Key="MyFontSize"
TargetType="TextBlock">
<Setter
Property="FontSize"
Value="10" />
</Style>
<Control
Style="{StaticResource MyFontSize}" />
* Lưu ý phong cách này có thể được sử dụng với điều khiển có contentPresenters
Đối với tất cả TextBlocks trong ứng dụng:
<Style
TargetType="TextBlock">
<Setter
Property="FontSize"
Value="10" />
</Style>
<TextBlock
Text="This text will be size 10" />
Nguồn
2009-05-21 17:06:08
Và nếu bạn cần thay đổi kích thước phông chữ khi đang bay, hãy đảm bảo rằng tất cả chúng được khai báo là DynamicResource, cả trong Kiểu và trong tham chiếu Kiểu thành "baseStyle". –
Seroiouslly? Tôi đã thử làm điều đó và tôi nhận được lỗi này: Thuộc tính 'BaseOn' không hỗ trợ các giá trị kiểu 'DynamicResourceExtension'. Tôi vừa thay đổi mã từ StaticResource thành DynamicResource. Bạn nghĩ gì bị thiếu? – Carlo
Quên về vấn đề nhỏ đó. Chúng tôi có tất cả các khai báo của chúng tôi được thiết lập là Người định cư được khai báo trên mỗi kiểm soát để chúng tôi không có phân cấp lớn. Bài đăng này giải thích nó khá tốt. http://stackoverflow.com/questions/585429/using-basedon-style-property-on-dynamicresources –