コントロールのプロパティが変更されたときに、視覚的に更新されない WPF アプリケーションでこの問題が発生しました。snoop を使用しており、プロパティが正しく設定されていることがわかりますが、コントロールには影響しません。サイズを変更すると、リフレッシュされ、コントロールの外観が修正されることに気付きました。
このアプリケーションには複数のページ (ページを継承するコントロール) があり、これらの各ページに移動するためのナビゲーション バーがあります。メニューには、ユーザーがビジュアル プロパティ (コントロールの「FlowDirection」) を変更できるオプションがあります。これは、フレームワーク要素全体に新しいスタイルを適用するリソース ディクショナリをロードするメソッドを呼び出します。ユーザーが(そのメニュー項目を使用して)変更すると、表示されているページ内のすべてのコントロールが更新され、正常に動作することに気付きました。しかし、他のページに移動すると、一部のコントロールが更新され、一部のコントロールは更新されません! (前に述べたように、snoop を使用したところ、他のすべてのページのコントロールのプロパティに正しい値が設定されていることがわかります。ページのサイズを変更すると、コントロールは正しい位置に配置されます)
InvalidateVisual 、 InvalidateArrange 、 InvalidateMeasure を試しましたが、どれも役に立ちませんでした。
コードは WPF C#、.NET 4.0 です。
なにか提案を?