1
我這個代碼代碼爲我的組合框:Combobox:爲什麼comboBox_SelectionChanged在爲SelectedValue設置默認值時爲空?
<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;
}
我試圖調試,我得到這個順序以下行爲:
- 1st,
SelectedValue="{Binding Path=CurrentStrings}"
調用我的財產的get {...}
,並在此之後: availableStrings_SelectionChanged
被調用,availableStrings.SelectedValue
爲空?!?
我的SelectedValue綁定只是叫get
並獲得價值OO 好像availableStrings_SelectionChanged的價值已經被分配了我的組合框..之前被調用,這聽起來像我的錯誤沒有?
這真的是一個奇怪的行爲...! –
事實上,如果你想在有效設置新值之前做一些測試,這可能是合乎邏輯的 –
奇怪的是什麼?我很確定SelectedValue沒有Set,所以UI沒有地方存儲值,所以它是空的。 XAML綁定不會引發錯誤。 – Paparazzi