通常、データバインドされたコントロールを「更新」する場合は、「PropertyChanged」イベントを使用して、データが舞台裏で変更されたことをインターフェイスに通知します。
たとえば、プロパティ「DisplayText」を使用してデータコンテキストにバインドされたテキストブロックを持つことができます
<TextBlock Text="{Binding Path=DisplayText}"/>
ここから、DataContext が PropertyName "DisplayText" で PropertyChanged イベントを発生させると、このテキストブロックのテキストが更新されます (バインディングのモードを変更していないと仮定します)。
ただし、データ コンテキストから離れた多くのプロパティを使用してコントロールの最終的なルック アンド フィールを決定する、より複雑なバインディングがあります。これを実現するために、データ コンテキストに直接バインドし、コンバーターを使用します。この場合、画像ソースを使用しています。
<Image Source="{Binding Converter={StaticResource ImageConverter}}"/>
ご覧のとおり、{Binding} をパスなしで使用してデータ コンテキストに直接バインドし、ImageConverter を使用して探している画像を選択します。しかし今、そのバインディングを更新するように伝える方法がありません (私が知っていることです)。「.」でpropertychangedイベントを上げてみました。機能しませんでした。
これは可能ですか?バインディングがアタッチできるプロパティに変換ロジックをラップする必要がありますか、またはバインディングをリフレッシュするように (バインディングを明示的にリフレッシュせずに) 指示する方法はありますか?
どんな助けでも大歓迎です。ありがとう!-アダム