WinForms から WPF に移行します...ゆっくりと =)
いいえ、ElementHost で WPF ユーザー コントロールを使用します。
このコンテキストでアプリケーション全体のリソースを定義することは可能ですか? 純粋な WPF では、Application.Resources がそれを表します。しかし、WinForms と統合する場合、WPF アプリはありません。
プロジェクトがいくつかの別個の WPF フォームまたはコントロールを含む WinForms のプロジェクトであっても、WPF アプリケーション オブジェクトを使用できます。オブジェクトは事前に作成されませんが、手動で作成すると、単にnew App()
(または派生クラスを使用せずにnew System.Windows.Application()
)、プロジェクト内のすべてのオブジェクトが表示されます。
共通のResourceDictionaryを作成し、それを UserControls のリソースに追加できます。そうすれば、スタイルを 1 か所で変更するだけで済みます。
Dictionary1.xaml
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
</ResourceDictionary>
MergedDictionarysを使用してUserControlに追加します
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Dictionary1.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
または、このようにコントロールのリソースに追加するだけです
<UserControl.Resources>
<ResourceDictionary Source="Dictionary1.xaml"/>
</UserControl.Resources>