组合框';s Text属性的值为上次选择,而不是当前选择

本文关键字:选择 属性 Text 组合 | 更新日期: 2023-09-27 18:27:16

我在WPF页面上有一个标签LabelMessage和一个组合框ComboBoxSelection。这是XAML:

<Label Name="LabelMessage" Content="" Margin="0,20" HorizontalAlignment="Stretch" VerticalAlignment="Center" />
<ComboBox x:Name="ComboBoxSelection" SelectionChanged="OnComboBoxSelectionChanged" Height="20" Margin="112,10,0,0" HorizontalAlignment="Stretch" VerticalAlignment="Top" IsEnabled="True" >
    <ComboBoxItem Content="North" />
    <ComboBoxItem Content="South" />
    <ComboBoxItem Content="East" />
    <ComboBoxItem Content="West" />
</ComboBox>

这是C#:

private void OnComboBoxSelectionChanged(object sender, SelectionChangedEventArgs e)
{
    LabelMessage.Content = ComboBoxSelection.Text;
}

标签显示组合框的上一个内容,而不是当前选择。谢谢,如果我选择North,然后选择East,标签将显示North。如果我选择South,则标签将显示East

是什么原因导致了这种情况,我应该如何解决?

谢谢。

组合框';s Text属性的值为上次选择,而不是当前选择

使用以下内容:ComboBoxSelection.SelectedItem.ToString();

解决方案:

LabelMessage.Content = ComboBoxSelection.SelectedItem.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");