Windows Phone 8.1 ComboBox Tapped事件不起作用

时间:2015-12-22 21:08:10

标签: c# windows-phone-8.1

您能否解释一下为什么我的ComboBox中的Tapped事件不会引发指定的方法?

<ComboBox HorizontalAlignment="Center" Margin="19,9.5,19,9.5" Header="Choose the type of the plot" FontSize="15">
                <ComboBoxItem Content="Signal Winner" Tapped="Winner_Signal_Tapped" />
                <ComboBoxItem Content="Filtered signal Winner" Tapped="Winner_Prediction_Tapped" />
                <ComboBoxItem Content="Quality Winner" Tapped="Winner_Quality_Tapped" />
                <ComboBoxItem Content="Error Winner" Tapped="Winner_Error_Tapped" />
                <ComboBoxItem Content="Signal LMS" Tapped="LMS_Signal_Tapped" />
                <ComboBoxItem Content="Filtered signal LMS" Tapped="LMS_Prediction_Tapped" />
                <ComboBoxItem Content="Quality LMS" Tapped="LMS_Quality_Tapped" />
                <ComboBoxItem Content="Error LMS" Tapped="LMS_Error_Tapped" />
            </ComboBox>

private void plotButton_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            if (LMSPlot != null)
            {
                graphGrid.Visibility = Windows.UI.Xaml.Visibility.Visible;
                var line1 = plot1.Series[0] as LineSeries;
                line1.ItemsSource = LMSPlot;

            }
            if (WinnerPlot != null)
            {
                graphGrid.Visibility = Windows.UI.Xaml.Visibility.Visible;
                var line1 = plot1.Series[0] as LineSeries;
                line1.ItemsSource = WinnerPlot;
            }
        }
        catch(Exception ex)
        {
             //for debug purpose
        }
    }

P.S。我指出如果我在ComboBox中只保留4个项目,则Tapped事件可以工作并调用指定的方法。但如果我把5-8,没有任何作用。为什么呢?

1 个答案:

答案 0 :(得分:0)

在Windows Phone 8.1 Win-RT中选择更改事件的combobox的XAML

 <ComboBox HorizontalAlignment="Center" Margin="19,9.5,19,9.5" SelectionChanged="ComboBox_SelectionChanged" Header="Choose the type of the plot" FontSize="15">
                <ComboBoxItem Content="Signal Winner" IsSelected="True" Tag="SW"/>
                <ComboBoxItem Content="Filtered signal Winner" Tag="FSW"/>
                <ComboBoxItem Content="Quality Winner" Tag="QW"/>
                <ComboBoxItem Content="Error Winner"  Tag="EW"/>
                <ComboBoxItem Content="Signal LMS"  Tag="SL"/>
                <ComboBoxItem Content="Filtered signal LMS" Tag="FSL" />
                <ComboBoxItem Content="Quality LMS"  Tag="QL"/>
                <ComboBoxItem Content="Error LMS"  Tag="EL"/>
            </ComboBox>

如何从组合框中获取所选项目。

    private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        ComboBox cb = sender as ComboBox;
        ComboBoxItem selectedItem = cb.SelectedItem as ComboBoxItem;

        switch (selectedItem.Tag.ToString())
        {
            case "SW":
                //first item selected...
                break;
            case "FSW":
                // Second item selected..
                break;
            case "QW":
                break;

        }
    }

另请参阅此示例,了解如何使用组合框。 http://www.c-sharpcorner.com/UploadFile/2d2d83/combobox-in-windows-phone-8-1/