2010-02-04 24 views
10

Tôi đã thực hiện công cụ chuyển đổi tùy chỉnh của riêng mình với chuỗi trả về là Brush. Bây giờ tôi có thể trả về các cọ liên tục như Brushes.Red, v.v. nhưng tôi thực sự muốn sử dụng các màu riêng của mình mà tôi đã xác định trong một tài nguyên toàn ứng dụng.WPF: Tham chiếu tài nguyên trên toàn bộ ứng dụng ở mã sau

Làm cách nào để tham chiếu tài nguyên trên toàn bộ ứng dụng từ lớp chuyển đổi tùy chỉnh của riêng tôi? Tôi muốn sử dụng FindResource nhưng như tôi đã nói, đây là từ lớp chuyển đổi của riêng tôi, không phải là một cửa sổ hoặc điều khiển.

Trả lời

20

Nếu những điều này được xác định trên Đơn đăng ký của bạn, bạn có thể sử dụng Application.Current.FindResource() để tìm chúng theo tên.

2

Thêm vào câu trả lời của Reed, nếu từ điển tài nguyên của bạn là một tệp XAML độc lập, bạn cần đảm bảo nó (như Reed nói) "được xác định trên Ứng dụng của bạn".

App.xaml:

<Application x:Class="WpfApplication10.App" 
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
      StartupUri="MainWindow.xaml"> 
    <Application.Resources> 
     <ResourceDictionary Source="Dictionary1.xaml" /> 
    </Application.Resources> 
</Application> 

Dictionary1.xaml:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <TextBlock x:Key="k_foo" Text="FOO" /> 
</ResourceDictionary> 

Các Build Action trên từ điển XAML tập tin này có thể được thiết lập để Page. Nó phải ở trong cùng thư mục với tệp App.xaml.

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