1
私はコンボボックスのために、このコードをコーディング:Combobox:SelectedValueでデフォルト値を設定すると、comboBox_SelectionChangedがnullになるのはなぜですか?
<ComboBox ItemsSource="{Binding Path=AvailableStrings}" SelectedValue="{Binding Path=CurrentStrings}" Name="availableStrings" SelectionChanged="availableStrings_SelectionChanged"/>
し、コードビハインドで私が持っている:
private void availableStrings_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
string currentText = availableStrings.SelectedValue as string;
}
私はデバッグしようとしましたが、私はこの順序で次の動作を得た:
私の財産のget {...}
を呼び出し、その直後
SelectedValue="{Binding Path=CurrentStrings}"
- 第一、:
availableStrings_SelectionChanged
が呼び出され、availableStrings.SelectedValue
がnull?
私のSelectedValueのは、ちょうどget
と呼ばれ、値が..私のコンボボックスが割り当てられていた前に、それはavailableStrings_SelectionChangedのように思える が呼び出された値オブジェクト指向を取得し、それが無い私にはバグのように聞こえるバインディング?
これは実際には奇妙な動作です...! –
実際には、新しい値を効果的に設定する前にいくつかのテストを行いたい場合は論理的です。 –
何が奇妙ですか? SelectedValueにSetがなく、UIには値が格納されていないのでnullになっていると私は確信しています。 XAMLバインディングはエラーをスローしません。 – Paparazzi