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,这个答案很有帮助。的确,我一整天都在为它挠头。哈哈,非常感谢!