ComboBox コントロールのかなり興味深いケースがあります - CustomComboBox;
この ComboBox のスタイルでは、Popup には DataContext を要求する 1 つのカスタム コントロールが含まれます。
<ctrl:CustomGrid DataContext="{TemplateBinding DataContext}" GridName="{Binding Preferences.CurrentGridName}"/>
アイデア:
- このコントロールを 1 つのページで複数回使用するには
- masterpage コンテナで使用するには
- masterpage コントロールには、それが存在する Page に関して異なる DataContexts が必要です
ロジック:
- オーバーライドされた OnApplyTemplate で、グリッドを取得し、いくつかのイベントハンドラーを接続しています
問題:
- masterpage コントロールが OnApplyTemplate を 1 回だけトリガーしている
- CustomComboBox の最初の外観は予想どおりです。ただし、CustomComboBox のデータコンテキストを変更する場合でも、次のすべての外観は同じ DataContext です。これらの変更は、CustomGrid DataContext を変更するために到達しません
バインディングまたはプレゼンテーション ロジックに何か問題があると確信しています... 考えてみてください。ここでヒントをいただければ幸いです
ありがとう