2017-07-05 56 views
0

我在TableView中使用Combobox,我想将第一项文本显示为默认值,我试图添加SelectionIndex=0,但它没有工作,其默认值为空。与像WPF Combobox在TableView中不能显示第一项作为默认值

Comboxbox auto select first item when data is available

我的组合框属于TableView其他问题不同,每个项目都有一个组合框(实际上每个网格项目有多种类型组合框的),所以我不能用一些方法需要处理它一个一个。

我的代码如下,和的ItemSource 城市是一本字典,我用DisplayMemberPath="Value" SelectedValuePath="Value"显示其价值(不是键):

<dxg:GridColumn FieldName="FloorSetUp" Header="Type" MinWidth="20" HorizontalHeaderContentAlignment="Center" VisibleIndex="1"> 
    <dxg:GridColumn.CellTemplate> 
     <DataTemplate> 
      <ComboBox DisplayMemberPath="Value" SelectedValuePath="Value" ItemsSource="{Binding Data.Cities}" SelectedIndex="0"/> 
     </DataTemplate> 
    </dxg:GridColumn.CellTemplate> 
</dxg:GridColumn> 

任何人都可以解决这个问题,非常感谢!

+0

你没有将'SelectedValue'或'SelectedIndex'绑定到任何东西。如果你想要做的只是默认选择第一项,'SelectedIndex =“0”'应该这样做。 –

+0

@EdPlunkett,对不起,我粘贴了不完整的代码,我添加了'SelectedIndex =“0”'但它不起作用。 – starkshang

+0

然后将SelectedValue绑定到等于要选择的项目的值的VM属性。 –

回答

0

Is FloorSetUp也KeyValuePair<T,R>

如果不是,那就是你的问题。

ComboBox必须在项目源和选定项目属性中使用相同类型的数据。

+0

'FloorSetUp'是字典类型,它会工作吗? – starkshang

+0

字典中的一项是KeyValuePair 所以可能 – Mishka

+0

然后我的代码满足您的建议,但结果如我所说,默认值为空。 – starkshang

相关问题