2

私の現在のプロジェクトでは、多くの静的リソースと動的リソースを備えた非常に大きな WPF ベースのアプリケーションを使用しています。過去に多くのリファクタリングと変更が行われたため、実行時に見つからない多くの DynamicResources が存在するため、値が適用されません。

私がやりたいのは、アプリケーションを実行して、DynamicResource が見つからなかったときに出力、例外などを取得することです。

未使用の DynamicResources をチェックする DefaultTraceListener と Converter を構築しようとしましたが、役に立ちませんでした。

それを達成する方法について誰かが私に解決策を持っていますか?

例:

    <Grid.Resources>
      <Style x:Key="myStyle1" TargetType="{x:Type TextBlock}">
        <Setter Property="Background" Value="Blue"></Setter>
      </Style>
    </Grid.Resources>
    <StackPanel>
      <TextBlock Style="{DynamicResource myStyle1}">DynamicResource exists</TextBlock>
      <TextBlock Style="{DynamicResource myStyle3}">DynamicResource does not exist</TextBlock>
    </StackPanel>

myStyle3 が存在しないことを実行時に通知するにはどうすればよいですか?

前もって感謝します !

4

1 に答える 1

1

ウィッチ バインディングが機能しないことを示すツールは多数あります。

  • WPF Inspector は私のお気に入りのツールです。WPF インスペクター
  • Snoop ユーティリティはその 1 つです。つまり、右上隅に、ビジュアルをフィルターできるドロップダウン リストが表示されます。バインド エラーのあるビジュアルを選択するだけです。出典:バインディング エラーの原因を突き止めるには?
  • Visual Studio では、[デバッグ] メニューの [例外] ですべての例外 (バインド エラーを含む) を有効にしてから、すべてを確認できます。

しかし、それがまさにあなたが望むものかどうかはわかりません。他の人に答えてもらいましょう...

于 2012-08-28T10:54:58.483 に答える