WPFリソースはApplication.Resourcesに合併しましたが、実行時に解決されません

StackOverflow https://stackoverflow.com/questions/2543726

質問

私は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に表示される予定のタイマージョブが表示されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top