2011-10-07 40 views
5

Có cách nào để thay đổi phông chữ mặc định (Giao diện người dùng di động) được Silverlight sử dụng thành phông chữ tùy chỉnh mà không chỉ định kiểu cho mỗi phần tử giao diện người dùng không? Tôi muốn tránh phải thiết lập một cách rõ ràng một phong cách hoặc ràng buộc FontFamily nó vào một tài nguyên tĩnh.Làm cách nào để thay đổi phông chữ mặc định được Silverlight sử dụng?

Tôi cho rằng tôi có thể sử dụng phong cách tiềm ẩn, nhưng sau đó tôi phải làm điều đó cho tất cả các loại điều khiển UI: Button, TextBlock, TextBox, vv, vv ...

Tôi ước gì tôi có thể chỉ cần thêm video này vào tôi phong cách điển (nhưng tất nhiên nó không được phép):

<FontFamily >"TCCEB.TTF#Tw Cen MT"</FontFamily> 

Trả lời

3

Nếu bạn gói toàn bộ ứng dụng của mình bằng ContentControl và chỉ định FontFamily trong đó, miễn là bạn không chỉ định FontFamily trong bất kỳ điều khiển con nào của bạn, phông chữ sẽ chảy xuống tất cả chúng.

+1

Cảm ơn, nó hoạt động. Tôi cũng đã thiết lập một phong cách tiềm ẩn cho ChildWindow (đối với các đối thoại phương thức), bởi vì nó không thừa hưởng FontFamily. –

+0

Tốt để biết điều đó. ;) –

0

Đây là những gì chúng tôi đã làm:

<Application.Resources> 
    <FontFamily x:Key="DefaultFontFamily">/MyName.MyApp;component/Assets/segoeui.ttf#Segoe UI</FontFamily> 

    <Style TargetType="Button"> 
     <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/> 
     <Setter Property="FontSize" Value="14.666"/> 
    </Style> 

    <Style TargetType="HyperlinkButton"> 
     <Setter Property="FontFamily" Value="{StaticResource DefaultFontFamily}"/> 
     <Setter Property="FontSize" Value="14.666"/> 
    </Style> 

    ... 

</Application.Resources> 

Viễn từ hoàn hảo tôi sợ.

Các vấn đề liên quan