2013-02-27 23 views
7

Trong WPF, bạn có thể tạo một Style đóng vai trò như là mặc định cho một loại kiểm soát trong XAML:Tìm phong cách mặc định cho một loại trong mã đằng sau

<Style TargetType="{x:Type local:MyControl}"> 
    . . . 
</Style> 

Sau đó, khi WPF đi để hiển thị điều khiển, nó trông lên rằng Style từ các tài nguyên dựa trên loại của nó.

Tôi muốn làm tương đương với điều này trong đoạn mã phía sau chương trình của mình. Làm cách nào để tìm thấy rằng Style?

Trả lời

17

Bạn có thể tìm kiếm phong cách trong các nguồn ứng dụng cấp bằng cách sử dụng kiểu kiểm soát như phím:

Style defaultStyle = Application.Current.TryFindResource(typeof(MyControl)) as Style; 
2

object globalStyleDefinedByApp; 
Style globalStyle = new Style(typeof(TargetType)); 
if (Application.Current.Resources.TryGetValue(typeof(TargetType), out globalStyleDefinedByApp)) 
{ 
    globalStyle = globalStyleDefinedByApp as Style ?? globalStyle; 
} 

Trong trường hợp ai đó đất ở đây tìm kiếm một giải pháp cho Universal Dự án Windows (UWP), không có TryFindResource tồn tại như vậy ở trên là cách bạn phải làm điều đó.