您能否解释一下为什么我的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,没有任何作用。为什么呢?
答案 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/