2017-07-05 1 views
0

J'utilise Combobox dans TableView, et je veux afficher le texte du premier élément comme valeur par défaut, j'ai essayé d'ajouter SelectionIndex=0, mais cela n'a pas fonctionné, sa valeur par défaut est vide. Différent avec d'autres questions commeWPF Combobox dans TableView ne peut pas afficher le premier élément par défaut

Comboxbox auto select first item when data is available

mon combobox appartient à TableView, chaque élément a une combobox (en fait chaque élément de grille a de nombreux types de combobox), donc je ne peut pas utiliser certaines méthodes doivent gérer un par un.

mon code est comme ci-dessous, et les ItemSource Villes est un dictionnaire, et j'utiliser DisplayMemberPath="Value" SelectedValuePath="Value" pour montrer sa valeur (non clé):

<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> 

Tout le monde peut résoudre ce problème merci beaucoup!

+0

Vous ne liez pas 'SelectedValue' ou' SelectedIndex' à quoi que ce soit. Si tout ce que vous voulez faire est de sélectionner par défaut le premier élément, 'SelectedIndex =" 0 "' devrait le faire. –

+0

@EdPlunkett, Désolé, j'ai collé le code incomplet, j'ajoute 'SelectedIndex =" 0 "' mais cela ne fonctionne pas. – starkshang

+0

Puis liez SelectedValue à une propriété VM qui est égale à la valeur de l'élément que vous voulez sélectionner. –

Répondre

0

Est-ce que FloorSetUp est également KeyValuePair<T,R>?

parce que sinon, c'est votre problème. La ComboBox doit fonctionner avec des données de même type à la fois dans la source des éléments et dans la propriété de l'élément sélectionné.

+0

'FloorSetUp' est le type de dictionnaire , cela fonctionnera-t-il? – starkshang

+0

Un élément dans le dictionnaire est KeyValuePair alors peut-être – Mishka

+0

alors mon code satisfait votre suggestion, mais le résultat est comme je l'ai dit, la valeur par défaut est vide. – starkshang