2010-06-25 40 views
5

Trong một ứng dụng WPF, bạn có thể đặt các tài nguyên tĩnh toàn cầu của bạn trong App.xaml .. nhưTài nguyên tĩnh toàn cầu trong thư viện lớp WPF?

<Application.Resources> 
     <!--Global View Model Locator--> 
     <vm:ViewModelLocator x:Key="Locator" 
          d:IsDataSource="True" /> 
    </Application.Resources> 

Đó là từ MVVM nhẹ;). Bây giờ, nếu dự án của bạn là một thư viện lớp wpf, một cách thích hợp để khởi tạo các tài nguyên tĩnh toàn cầu như thế nào?

Trả lời

3

Bạn có thể tạo ResourceDictionary với tài nguyên của mình và hợp nhất các từ điển bằng cách sử dụng mã của bạn như dưới đây.

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
       xmlns:vm="clr-namespace:WPFProject.ViewModel" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
<vm:ViewModelLocator x:Key="Locator" 
         d:IsDataSource="True" /> 

Code:

Application.Current.Resources.MergedDictionaries.Add(Application.LoadComponent(
      new Uri("/WPFProject;Component/Resources/ResourceDictionary1.xaml", UriKind.Relative)) as ResourceDictionary); 
+1

Bạn có thể tạo MergedDicionaries của bạn trong XAML, trong file App.xaml, đó là thực tế phổ biến nhất (thay vì tạo ra chúng trong mã đằng sau). – Hannish

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