组合框选择项返回错误
Combo box selection item returning an error
我在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# 中获得所选值时,我得到 "Null Reference exception error"
这是我的 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)
}
}
使用 SelectedItem 代替 SelectedIndex
这是错误的,int 永远不会为 null
if (CmbBoxStart.SelectedIndex != null)
您必须验证 SelectedItem !=null
并且组合框的 ControlTemplate 似乎使用了 SelectionBoxItem,也许您应该只使用 Combobox.SelectedItem 属性.
string StrStartString = CmbBoxStart.SelectedItem.ToString();
我在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# 中获得所选值时,我得到 "Null Reference exception error"
这是我的 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)
}
}
使用 SelectedItem 代替 SelectedIndex
这是错误的,int 永远不会为 null
if (CmbBoxStart.SelectedIndex != null)
您必须验证 SelectedItem !=null
并且组合框的 ControlTemplate 似乎使用了 SelectionBoxItem,也许您应该只使用 Combobox.SelectedItem 属性.
string StrStartString = CmbBoxStart.SelectedItem.ToString();