http://pro.art55.jp/?eid=1176521
xaml の別アセンブリからxamlをマージする
どこかの Window の xaml ファイルに対して。。
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
pack://application:,,,/(アセンブリ名);component/(プロジェクト内のパス)
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</WindowResources>
xaml の ignorable が複数あるときは、スペースで区切って並べる。
https://msdn.microsoft.com/ja-jp/library/aa350024(v=vs.90).aspx
mc:AltenateConent + mc:Choice Requires + mc:Fallback でifdef のようなことができるらしい。
http://kirmir.com/2015/02/24/compilation-directives-to-control-xaml-content/
--
Wpfのカスタムコントローラーを作るとき、Generic.xaml のスタイルが既定のスタイルとして使われる。
なので、ファイル分割したいときは、ResourceDictonary を作成&その内部でスタイルを定義した後、
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/コンポーネント名;component/Themes/MyContorlTheme.xaml" />
</ResourceDictionary.MergedDictionaries>
のようにマージしておかないと、実行時にエラーが出る。(よくわかんなくてよくはまった)。
0 件のコメント:
コメントを投稿