组合框选择项返回错误

时间:2015-02-17 02:34:42

标签: c# xaml exception combobox null

我在xaml中创建了一个组合项,如下所示:

    ComboBox x:Name="CmbBoxStart" HorizontalAlignment="Left" Height="108"                Margin="10,191,0,0" VerticalAlignment="Top" Width="174" ItemsSource="{Binding}"     SelectionChanged="CmbBoxStart_SelectionChanged" FontSize="25" IsDropDownOpen="False" BorderThickness="10" Background="{StaticResource ComboBoxBackgroundThemeBrush}" Foreground="{ThemeResource ComboBoxForegroundThemeBrush}" IsSynchronizedWithCurrentItem="False">
        <x:String>0</x:String>
        <x:String>1</x:String>
        <x:String>2</x:String>
        <x:String>3</x:String>
        <x:String>4</x:String>
        <x:String>5</x:String>
        <x:String>6</x:String>
        <x:String>7</x:String>
        <x:String>8</x:String>
        <x:String>9</x:String>
    </ComboBox>

当我在c#中获得所选值时,我得到&#34;空引用异常错误&#34;

这是我的C#代码。

任何想法如果我需要约束这个?我错误的是与值的索引有关。

    private void CmbBoxStart_SelectionChanged(object sender,SelectionChangedEventArgs e)
    {

        if (CmbBoxStart.SelectedIndex != null)
        {
            string StrStartString = CmbBoxStart.SelectionBoxItem.ToString();
            IntStartNumber = Convert.ToInt16(StrStartString);
            //CmbBoxStart.GetValue(Item)
        }
    }

2 个答案:

答案 0 :(得分:2)

使用SelectedItem代替SelectedIndex

答案 1 :(得分:1)

这是错误的,int永远不会为空

 if (CmbBoxStart.SelectedIndex != null)

您必须验证SelectedItem !=null

看来SelectionBoxItem是由Combobox的ControlTemplate使用的,也许你应该只使用Combobox.SelectedItem属性。

string StrStartString = CmbBoxStart.SelectedItem.ToString();