ComboBoxのSelectedValueの型の怪しい挙動2021年01月30日 16:57


XAML定義

UWPにて、ComboBoxを定義。
項目選択時のSelectionChangedイベント処理にSelectedValueを使ってみる。
MS Docの記述例では、AddedItems[0]を用いているものもあるのだけど。

初期化前の例外

動かしてみると、XAMLの初期化時の呼び出しで、型不一致の例外。
デバッガの変数表示を見ると、SelectedValuePathが未定義。
SelectedValueには、IDを定義するクラスであるIntervalItemのインスタンスが設定。

初期化後の処理

苦し紛れだが、そこのところを、型チェックで除外。
すると、UI初期化完了後の呼び出しでは、SelectedValuePathはXAMLの定義通りに設定され、SelectedValueにはIntervalItemのプロパティであるIDが正しく設定されている。

なんとも怪しげ。まだ、こんなのがある。