无法为ComboBoxItem设置IsSelected属性

时间:2017-01-10 01:34:42

标签: c# wpf xaml

当我尝试为ComboBoxItem设置IsSelected时,它会抛出Set property 'IsSelected' threw an exception。我该怎么办?

这是XAML:

<ComboBox x:Name="rowsPerPageCombo" HorizontalAlignment="Left" VerticalAlignment="Center"  Width="120" SelectionChanged="rowsPerPageCombo_SelectionChanged" Background="White">
        <ComboBoxItem x:Name="Page10" Content="10" IsSelected="True"/>
        <ComboBoxItem x:Name="Page20" Content="20"/>
        <ComboBoxItem x:Name="Page30" Content="30"/>
        <ComboBoxItem x:Name="Page40" Content="40"/>
        <ComboBoxItem x:Name="Page50" Content="50"/>
 </ComboBox>

2 个答案:

答案 0 :(得分:1)

尝试将SelectedIndex属性设置为0,而不是在ComboBoxItem元素上设置所选项

<ComboBox x:Name="rowsPerPageCombo" SelectedIndex="0" HorizontalAlignment="Left" VerticalAlignment="Center"  Width="120" SelectionChanged="rowsPerPageCombo_SelectionChanged" Background="White">
    <ComboBoxItem x:Name="Page10" Content="10" />
    <ComboBoxItem x:Name="Page20" Content="20"/>
    <ComboBoxItem x:Name="Page30" Content="30"/>
    <ComboBoxItem x:Name="Page40" Content="40"/>
    <ComboBoxItem x:Name="Page50" Content="50"/>
</ComboBox>

答案 1 :(得分:0)

如果没有看到你的代码,很难说你的错误在哪里,但确保在yoy尝试SelectionChanged事件处理程序中的任何内容之前已经加载了窗口。如果IsLoaded属性返回false,则可以立即返回:

private void rowsPerPageCombo_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    if (this.IsLoaded)
        return;

    //your code...
}

如果删除SelectionChanged="rowsPerPageCombo_SelectionChanged"并且不处理SelectionChanged事件,则可能会删除异常。否则它与代码中的其他内容有关。