在我的WPF應用程序中,我有一個ComboBox,用於爲AutoCompletebox選擇ItemFilter。下面是代碼:ComboBox SelectionChanged事件火災晚
XAML
<ComboBox
Name="SearchFilter"
HorizontalAlignment="Right"
MinWidth="75" Margin="0,3,0,3"
SelectionChanged="SearchFilter_SelectionChanged">
<ComboBoxItem>Full-Time</ComboBoxItem>
<ComboBoxItem>Part-Time</ComboBoxItem>
<ComboBoxItem>Retired</ComboBoxItem>
<ComboBoxItem>Stockholder</ComboBoxItem>
<ComboBoxItem>Terminated</ComboBoxItem>
<ComboBoxItem>None</ComboBoxItem>
</ComboBox>
C#
private void SearchFilter_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (SearchFilter.SelectedItem != null)
{
if (SearchFilter.Text == "Full-Time")
{
EmployeeAutoBox.ItemFilter = PersonFilter_Full;
}
else if (SearchFilter.Text == "Part-Time")
{
EmployeeAutoBox.ItemFilter = PersonFilter_Part;
}
else if (SearchFilter.Text == "Retired")
{
EmployeeAutoBox.ItemFilter = PersonFilter_Ret;
}
else if (SearchFilter.Text == "Stockholder")
{
EmployeeAutoBox.ItemFilter = PersonFilter_Stock;
}
else if (SearchFilter.Text == "Terminated")
{
EmployeeAutoBox.ItemFilter = PersonFilter_Term;
}
else
{
EmployeeAutoBox.ItemFilter = PersonFilter;
}
}
}
出於某種原因,經過予改變的所選被改變正在應用的過濾器。例如,我將組合框設置爲「全職」,列表篩選器未應用。然後,我將ComboBox設置爲「Part-Time,全時間過濾器正在應用,然後我將ComboBox設置爲」Retired「,Part Time過濾器正在應用等等等等......我已經使用了ComboBox for類似的東西之前,它通常基於目前在框中的東西,而不是在框中是什麼。我在這裏缺少什麼?
什麼在這個SelectionChanged處理程序中的'e.AddedItems'? 'SearchFilter.SelectedItem'和'SearchFilter.SelectedValue'本應該已經更新了 –