日期:2014-05-16  浏览次数:21520 次

wpf 中如果获取ComboBox选中的值,请高手指教
private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (ComboBox.SelectedItem != null)
            {
                chart.Series.Clear();
               

              string item = ComboBox.SelectedItem.ToString();
                double val = Convert.ToDouble(item);
  
  问题就出在这两句程序上,我要得到选中的值;combobox中已经设置是数字0,1  ,0.1  ,1 ,  2
   并且还可以输入 其他数字 
                 Axis yaxis = new Axis();
                yaxis.AxisMaximum = 200 * val;
                yaxis.AxisMinimum = -200 * val;                   
            }
            else
                return;
        }


------解决方案--------------------
我猜测你ComboBox绑定的类型应该不是String的集合类那么简单吧,如果你要“取”的值跟ComboBox当前“显示”的值一样,可以试试ComboBox.Text。
------解决方案--------------------
你用F10调试看看ComboBox.SelectedItem的值,假设你的Combobox的Itemsource是List<double>那么ComboBox.SelectedItem的值就应该是Double,如果不是,那应该是绑定那块有问题
------解决方案--------------------
引用:
Quote: 引用:

你用F10调试看看ComboBox.SelectedItem的值,假设你的Combobox的Itemsource是List<double>那么ComboBox.SelectedItem的值就应该是Double,如果不是,那应该是绑定那块有问题


我并没有设置Combobox的Itemsource 属性

是这样的 
<ComboBox Text="放大倍数"  Name="ComboBox" IsEditable="True" HorizontalAlignment="Left" Height="30" VerticalAlignment="Top" Width="124" SelectionChanged="ComboBox_SelectionChanged" Margin="383,10,0,0">
            <ComboBox.Items>
            <ComboBoxItem>0.1</ComboBoxItem>
            <ComboBoxItem>0.2</ComboBoxItem>
            <ComboBoxItem>0.5</ComboBoxItem>
            <ComboBoxItem>1.0</ComboBoxItem>
            </ComboBox.Items>
        </ComboBox>


ComboBoxItem item = ComboBox.SelectedItem as ComboBoxItem;
 &n