2012-01-02 5 views
0

私のアプリケーションでは、DateTimeピッカーと多数のコンボボックスの両方を表示する詳細画面があります。アプリケーションを開いてリストから項目を選択して詳細画面を開くと、コントロールは正常に動作します。同じコードを使用して詳細画面を開くコマンドライン引数からアプリケーションを開くと、下矢印をクリックしてもコンボボックスとdatetimeピッカーが展開されません。このコントロールは、そのビューモデルにバインドされています。Combobox/DateTime Pickerドロップダウンしないでください

手動でINotifyPropertyChangedイベントを発生させ、myCombobox.GetBindingExpression(ComboBox.ItemsSourceProperty).UpdateTarget();を呼び出してコントロールをリフレッシュさせようとしました。コントロールのLoadedイベントで発生します。

Loadedイベントで呼び出されたときに、コントロールのUpdateLayout()を呼び出しても問題が解決されません。 LoadedイベントでコンボボックスのUpdateLayout()メソッドを呼び出すと、問題は解決されません。また、Initializedイベントでも同じメソッド呼び出しを試みましたが、成功しませんでした。

アドバイスをいただければ幸いです。

+0

さらに、コントロールにフォーカスがある場合は、キーボードの矢印キーを期待通りに使用し、バインドされたリスト内の使用可能な項目をスクロールします。 – Flea

+0

私が落ちたもう一つの道は、ドロップダウンが広がっていたが隠れていると思っていたので、Panel.ZIndexを設定して遊んだが、これも解決しなかった。 – Flea

+0

これはタイミング問題のようです。 App.xaml.csのOnActivatedメソッドの引数を解析する場合は、アプリケーションを起動し、別のアプリケーションに移動してから、アプリケーションを返す(アクティブにする)ドロップダウンがうまく動作します。 – Flea

答えて

0

上記の診断で述べたように、これはレンダリングされる画面のタイミングの問題であると思われます。メインウィンドウのContentRenderedイベントでコマンドラインパラメータを処理すると、結果として得られる画面のコンボボックスが適切に表示されることが分かります。

関連する問題