2013-11-18 5 views
0

Я до сих пор новичок в MVVM (и C#), поэтому, пожалуйста, дайте мне знать, если мой вопрос неясен, и я обновлю/уточню.MVVM populating combobox

У меня есть ListView в моем xaml со следующим кодом:

<ListView.Resources> 
    <local:IndexConverter x:Key="IndexConverter" /> 
    <DataTemplate x:Key="OrdinalColumnDataTemplate"> 
     <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListViewItem}, 
     Converter={StaticResource ResourceKey=IndexConverter}}" HorizontalAlignment="Right" /> 
    </DataTemplate> 
</ListView.Resources> 

<ListView.View> 
    <GridView x:Name="gridView3"> 
     <GridViewColumn Header="#" CellTemplate="{StaticResource ResourceKey=OrdinalColumnDataTemplate}" /> 
     <GridViewColumn DisplayMemberBinding="{Binding Name, NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged}" Header="Name" /> 
     <GridViewColumn DisplayMemberBinding="{Binding License, NotifyOnTargetUpdated=True, UpdateSourceTrigger=PropertyChanged}" Header="License" /> 
    </GridView> 
</ListView.View> 

Он работает, как и ожидалось, он заполняется Name и License атрибутов каждого элемента. Теперь я хотел бы добавить ComboBox и заполнить его уникальным Names того же элемента, который показан в ListView.

ВОПРОС 1: Я тестировал приведенный ниже код, но он не работает, как должен выглядеть xml?

<ComboBox Name="filterUserComboBox" ItemsSource="{Binding Path=licenseListView, ElementName=Name}"></ComboBox> 

ВОПРОС 2: Когда выше работает правильно, как я добавить (или в один пустой элемент) элемент «все» в ComboBox?

+0

Почему вы просто не вставляете новую запись с индексом 0 в свой список ресурсов для представления опции «все»? – atomaras

+0

Возможно, этот вопрос - это то, что вы хотите сделать: http://stackoverflow.com/questions/1426050/how-to-display-default-text-select-team-in-combo-box-on-pageload-in-wpf – roqz

+0

@roqz, нет, это совсем другой вопрос. – theAlse

ответ

0

Хорошо, мне удалось решить оба вопроса самостоятельно. Надеюсь, это может помочь людям в будущем.

ANSWER 1: Оказалось, что xml был просто выключен.

<ComboBox Name="filterUserComboBox" ItemsSource="{Binding Path=ResourceList}" DisplayMemberPath="Name"></ComboBox> 

ОТВЕТ 2: Я исследовал это долгое время и решение на самом деле изменить MVVM, который заполняется в ComboBox, так что источник на самом деле должен включать пустой/все опции, который будет показан в Поле со списком.