Я до сих пор новичок в 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 в свой список ресурсов для представления опции «все»? – atomaras
Возможно, этот вопрос - это то, что вы хотите сделать: http://stackoverflow.com/questions/1426050/how-to-display-default-text-select-team-in-combo-box-on-pageload-in-wpf – roqz
@roqz, нет, это совсем другой вопрос. – theAlse