WPFリソースはApplication.Resourcesに合併しましたが、実行時に解決されません
-
23-09-2019 - |
質問
私はaの一部であるブラシを持っています ResourceDictionary
それは融合されています Application.Resources
.
しかし、何らかの理由で、スタイルがコントロールの1つに適用されているランタイム時には解決されません。ただし、例外がスローされたときに即時ウィンドウからapplication.current.findresource( "brushname")を呼び出すと、リソースが見つかります。
私は何かが足りませんか? WPFは、アプリのリソースでリソースを探しようとするはずではありませんか?
アップデートアプリケーションは非常に大きいため、すべての実際のコードを投稿することはできませんが、リソースのマージと使用方法は次のとおりです。
Brushes.xaml
<ResourceDictionary ...>
<SolidColorBrush x:Key="BrushName" Color="#12345678" />
</ResourceDictionary>
SomeStyles.xaml
<ResourceDictionary ...>
<Style x:Key="SomeStyle">
<Setter Property="SomeProperty" Value="{StaticResource BrushName}" />
</Style>
</ResourceDictionary>
App.xaml
<Application ...>
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml" />
<ResourceDictionary Source="SomeStyles.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
</Application ...>
そして、ある程度のコントロールは、次のようなリソースを使用してスタイルを使用する場合があります。
...
Style={StaticResource SomeStyle}
...
アップデート
それは、コードで作成されたメニューとコントロールに起こるようです。それらのコントロールとメニューは、ウィンドウの視覚ツリーの一部ではないことに関連することができますか?
解決
あなたのsomestyle.xaml辞書は、ブラシを参照する必要があります。
<ResourceDictionary ...>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Brushes.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style x:Key="SomeStyle">
<Setter Property="SomeProperty" Value="{StaticResource BrushName}" />
</Style>
</ResourceDictionary>
StaticResourcesは現在の辞書のツリーを検索するため、参照する必要があるリソースを渡す必要があります。
他のヒント
中央管理 - >サービスアプリケーションの管理 - >ユーザプロファイルサービスアプリケーション。
「マイサイト設定」の下にある「マイサイト」があります。ここでは、新しい設定に合わせて「マイサイトホストの場所」の値を更新できます。下部にある「OK」を必ずクリックしてください。
これがすぐに行われるかどうか、または変更が必要なタイマージョブがある場合は、ユーザーのGUIに表示される予定のタイマージョブが表示されます。