[解決済み] WPFユーザーコントロールでインポートリソースとローカルリソースを組み合わせる方法
2023-06-16 20:38:34
質問
私は、共有と個別のリソースの両方を必要とするいくつかの WPF ユーザー コントロールを書いています。
私は個別のリソースファイルからリソースをロードするための構文を把握しました。
<UserControl.Resources>
<ResourceDictionary Source="ViewResources.xaml" />
</UserControl.Resources>
ただ、これをやると、ローカルにリソースを追加することもできないので、例えば
<UserControl.Resources>
<ResourceDictionary Source="ViewResources.xaml" />
<!-- Doesn't work: -->
<ControlTemplate x:Key="validationTemplate">
...
</ControlTemplate>
<style x:key="textBoxWithError" TargetType="{x:Type TextBox}">
...
</style>
...
</UserControl.Resources>
ResourceDictionary.MergedDictionaries を見てみましたが、これは複数の外部辞書をマージするだけで、ローカルでさらにリソースを定義することはできません。
何か些細なことを見逃しているのではないでしょうか?
それは言及されるべきです。私は WinForms プロジェクトでユーザー コントロールをホストしているので、App.xaml に共有リソースを置くことは実際にはオプションではありません。
どのように解決するのですか?
私はそれを理解しました。MergedDictionariesを使った解決方法ですが、具体的にはこのようになります。
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="ViewResources.xaml" />
</ResourceDictionary.MergedDictionaries>
<!-- This works: -->
<ControlTemplate x:Key="validationTemplate">
...
</ControlTemplate>
<style x:key="textBoxWithError" TargetType="{x:Type TextBox}">
...
</style>
...
</ResourceDictionary>
</UserControl.Resources>
つまり、ローカルリソースはネストされる必要があります。 の中で でなければなりません。そのため、例の ここで は正しくありません。
関連
-
[解決済み] Android: リソースから名前を使って文字列を取得するには?
-
[解決済み] WPFの場合、x:Name属性とName属性の違いは何ですか?
-
[解決済み] RelativeSourceでWPFバインディングを使用するにはどうしたらいいですか?
-
[解決済み] WPFのStaticResourceとDynamicResourceの違いは何ですか?
-
[解決済み] WPF画像リソースの保存
-
[解決済み] Generic.xamlの特徴とは?
-
[解決済み] 16進数の色値からSolidColorBrushを作成する
-
[解決済み] WPFエラー。エラー: ターゲット要素に対応する FrameworkElement が見つかりません。
-
[解決済み] ObservableCollectionのクリア時にe.OldItemsに項目がない場合
-
[解決済み] WPF ListBoxでTextBlockを強制的に折り返す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ラジオボタンをenumにバインドするには?
-
[解決済み] Windows 8 ランタイム(WinRT / Windowsストアアプリ / Windows 10 ユニバーサルアプリ)とSilverlightやWPFの比較はどうですか?[クローズド]
-
[解決済み] 静的プロパティへのバインディング
-
[解決済み] WPFのテキストラップとWrapWithOverflowの比較
-
[解決済み] WPFでデータトリガーに複数の条件を指定するには?
-
[解決済み] WPFバインディングを使用して2つのコマンドパラメータを渡す
-
[解決済み] WPF: グリッドに列/行のマージン/パディングを設定できますか?
-
[解決済み] 16進数の色値からSolidColorBrushを作成する
-
[解決済み] XAMLにunicode文字を入れるには?
-
[解決済み] WPFコマンドライン