2016-02-03 3 views
1

я модифицировал шаблон элемента моего выпадающего списка, чтобы отключить эту проблему элементов сквозных (выпадающие прокрутки неограниченны, в режиме Touche)выпадающего ItemTemplate & SelectedValue

<ComboBox.ItemsPanel> 
     <ItemsPanelTemplate> 
     <StackPanel Orientation="Vertical" /> 
     </ItemsPanelTemplate> 
</ComboBox.ItemsPanel> 

Так что изменение сделано, я не могу измените выбранный элемент из ViewModel.

Полный выпадающий:

<ComboBox BorderBrush="#D4D4D4" Margin="312,64,22,142" Grid.Row="1" 

          ItemsSource="{Binding TypeRemplissageListe,Mode=TwoWay}" 
          DisplayMemberPath="Name" 
          SelectedValuePath="Value" 
          SelectedValue="{Binding SelectedTypeRemplissage,Mode=TwoWay}" 
          v:FieldValidationExtensions.Format="NonEmpty" Grid.Column="1" 
          > 
        <ComboBox.ItemsPanel> 
         <ItemsPanelTemplate> 
          <StackPanel Orientation="Vertical" /> 
         </ItemsPanelTemplate> 
        </ComboBox.ItemsPanel> 
    </ComboBox> 

ViewModel:

private string _selectedTypeRemplissage; 
    public string SelectedTypeRemplissage 
    { 
     get { return _selectedTypeRemplissage; } 
     set 
     { 
      if (_selectedTypeRemplissage != value) 
      { 
       _selectedTypeRemplissage = value; 
       RaisePropertyChanged("SelectedTypeRemplissage"); 
      } 
     } 
    } 


    SelectedTypeRemplissage = TypeRemplissageListe.ElementAt(0).Name; 

DataList Класс:

public class DataList 
{ 
    public string Name { get; set; } 
    public string Value { get; set; } 
} 
+0

Значит, ваш код работает, только удаляя строки '? –

+0

Да, все работает нормально, проблема в указанном шаблоне, я думаю, мне нужно настроить Combobox! – Kevorkian

ответ

0

Да проблема с ItemsPanel, поскольку ItemsPanel имеет StackPanel в нем виртуализация не включен, поэтому выбранный элемент не подсвечивается.

Измените Stackpanel на Itemsstackpanel, и он должен работать.

Смежные вопросы