C# 在组合框中进行不同选择时运行不同的方法
我试图创建一个包含不同选项的组合框,并在选择某个选项时激发不同的方法。但是,当我运行应用程序并选择一个选项时,什么也没有发生。以下是代码片段:C# 在组合框中进行不同选择时运行不同的方法,c#,wpf,C#,Wpf,我试图创建一个包含不同选项的组合框,并在选择某个选项时激发不同的方法。但是,当我运行应用程序并选择一个选项时,什么也没有发生。以下是代码片段: <ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="10,84,0,0" VerticalAlignment="Top" Width="100" SelectionChanged="comboBox_SelectionChanged" SelectedItem="{Bindi
<ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="10,84,0,0" VerticalAlignment="Top" Width="100" SelectionChanged="comboBox_SelectionChanged" SelectedItem="{Binding Path=index, Mode=TwoWay}" SelectedValuePath="Tag">
<ComboBoxItem Content="Kilograms" Tag="0"></ComboBoxItem>
<ComboBoxItem Content="Pounds" Tag="1"></ComboBoxItem>
</ComboBox>
private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBox Selector = (sender as ComboBox);
int index = Selector.SelectedIndex;
switch(Selector.ToString())
{
case "0":
workOutKilo();
break;
case "1":
break;
}
}
private void workOutPounds()
{
MessageBox.Show("This is the pounds conversion");
}
private void workOutKilo()
{
MessageBox.Show("This is the kilo conversion");
}
private void组合框\u SelectionChanged(对象发送者,SelectionChangedEventArgs e)
{
组合框选择器=(发送方作为组合框);
int index=Selector.SelectedIndex;
开关(选择器.ToString())
{
案例“0”:
workOutKilo();
打破
案例“1”:
打破
}
}
私人机构(英镑)
{
MessageBox.Show(“这是英镑换算”);
}
私人空余工作基洛()
{
Show(“这是千克换算”);
}
我如何才能使此工作正常,以便在选择组合框中的选项并将消息显示到屏幕上时,方法将运行?不要将发送者对象用作
开关
条件。而是使用获取的索引:
private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var comboBox = sender as ComboBox;
int index = comboBox.SelectedIndex;
switch (index)
{
case 0:
workOutKilo();
break;
case 1:
workOutPounds();
break;
}
}
当前代码不起作用,因为在ComboBox对象上调用
ToString
方法会生成以下文本:System.Windows.Controls.ComboBox项。计数:2
,它既不是字符串“0”
,也不是字符串“1”,即xaml codedGlad,这个答案很有帮助。的确,我一整天都在为它挠头。哈哈,非常感谢!