【问题标题】:Combo box item not initally selected最初未选择组合框项
【发布时间】:2015-07-16 10:11:17
【问题描述】:

我需要在加载时选择我的 ComboBox 的第一个项目。

XAML:

 <ComboBox x:Name="CreateLstBoxFormat" HorizontalAlignment="Left" Margin="27,334,0,0" IsSynchronizedWithCurrentItem="True" VerticalAlignment="Top" Width="90"  SelectedValuePath="Content" SelectedIndex="0" SelectedItem="{Binding CreateFormatSelectedItem, Mode=TwoWay}">
    <ComboBox.ItemsSource>
        <x:Array xmlns:sys="clr-namespace:System;assembly=mscorlib" Type="{x:Type sys:String}">
            <sys:String>MXF</sys:String>
            <sys:String>Quicktime MOV</sys:String>
            <sys:String>DPX</sys:String>
            <sys:String>TIF</sys:String>
            <sys:String>TGA</sys:String>
            <sys:String>CIN</sys:String>
            <sys:String>EXR</sys:String>
        </x:Array>
    </ComboBox.ItemsSource>
    <i:Interaction.Triggers>
        <i:EventTrigger EventName="SelectionChanged">
            <i:InvokeCommandAction Command="{Binding Create_FormatSelectCommand}" 
                                    CommandParameter="{Binding YourCommandParameter}" />
        </i:EventTrigger>
    </i:Interaction.Triggers>
</ComboBox>

我希望MXF在打开窗口时最初在组合框中被选中。

我正在使用SelectedItem 属性在所选项目发生更改时触发事件。

【问题讨论】:

  • CreateFormatSelectedItem 的初始值是多少?此外,尝试删除此属性并查看第一个是否被选中(只是为了缩小可能性)
  • 其次将 IsSynchronizedWithCurrentItem 放在 ComobBox 上
  • @eranotzap 这完全是一个无效的编辑,发布答案。不要把你的答案放在问题中。
  • 您不应该以改变其范围和上下文的方式编辑问题,您应该只修复语法、url、可读性等内容

标签: c# wpf mvvm combobox


【解决方案1】:

尝试使用SelectedItem 属性:

<ComboBox Name="myComboBox" 
          ItemsSource="{Binding}" 
          DisplayMemberPath="Description" 
          SelectedItem="{Binding Path=id}"
          IsSynchronizedWithCurrentItem="True"
          SelectedIndex="0" />

【讨论】:

    【解决方案2】:

    我认为使用

    SelectedIndex="0(or your desired index)"
    

    即使您使用 MVVM 方法,也会为您做到这一点。如果您不选择任何内容,那么它最初将始终显示为空白。

    【讨论】:

    • 我已经在使用它,但我发现“SelectedItem”属性似乎要覆盖它。如果我删除 SelectedItem,SelectedIndex 会起作用
    • 如果你真的完美地遵循了mvvm,无论如何都不应该发生这种情况,因为选择的索引与选定的项目没有任何关系。
    猜你喜欢
    • 1970-01-01
    • 2012-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多