2017-04-06 12 views
-1

私はWPFアプリケーションで、適用したいすべてのスタイルを定義しました。問題は、他のウィンドウを開くと、他のプロジェクトで定義されているため、メインウィンドウと同じスタイルを持たないということです。WPFウィンドウとコントロールのスタイル

メインアプリケーションのスタイルを適用するにはどうすればよいですか?

ありがとうございました!

EDIT

これは私が必要なもの、私のApp.xaml

<Application.Resources>   
    <ResourceDictionary> 
     <ResourceDictionary.MergedDictionaries> 
      <ResourceDictionary Source="Assets/Styles/Themes/Dark.xaml" /> 
      <ResourceDictionary Source="Assets/Styles/Border.xaml" /> 
      <ResourceDictionary Source="Assets/Styles/BaseBlock.xaml" /> 
      <ResourceDictionary Source="Assets/Styles/Buttons.xaml" /> 
      ..... 

の一部であるようにするためにProject1の中で定義されたものに主プロジェクトで定義されたスタイルを適用することです均一。

enter image description here

+0

プロジェクトは同じソリューションにありますか? – Rekshino

+0

はい、そうです。 MainProjectはその参照にProject1を持っています。 –

答えて

0

App.xamlでアプリケーションリソースのResourceDictionaryのに自分のスタイルを入れてください。だから{StaticResource keyOfYourStyle}であなたのリソースをどこからでも使うことができます。必要に応じて、スタイルをすべてのコントロールに適用し、デフォルトのスタイルを使用します。

<Style TargetType="Border" BasedOn="{StaticResource keyOfYourStyle}> 



<Application.Resources> 
    <ResourceDictionary> 
    <ThisResourceWillBeAccessedEveryWhere x:Key="ResName"/> 
<ResourceDictionary.MergedDictionaries> 
       <ResourceDictionary Source="pack://application:,,,/YourAssembley;component/Resources/ButtonStyles.xaml" /> 
      </ResourceDictionary.MergedDictionaries> 
    </ResourceDictionary> 
    </Application.Resources> 
+0

App.xamlに入れるべきことをもう少し説明してください。私は自分の投稿を編集して、App.xamlの開始点を示しました。ありがとう! –

+0

はい、私はすでに私が現在のプロジェクトで定義したすべてのウィンドウに対してこれを行います。 問題は、メインアプリケーションが参照されている他のプロジェクトで定義されているウィンドウです。彼らは主なアプリケーションのものと異なることができる彼らのスタイルを持っています。 –

+0

別のウィンドウでスタイルを明示的に設定した場合、これはデフォルトのスタイルを上書きします。 – Rekshino

関連する問題