组合框';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
。
是什么原因导致了这种情况,我应该如何解决?
谢谢。
使用以下内容:ComboBoxSelection.SelectedItem.ToString();
解决方案:
LabelMessage.Content = ComboBoxSelection.SelectedItem.ToString().Replace("System.Windows.Controls.ComboBoxItem: ", "");