Я просто хочу сделать простую вещь, я просто хочу показать свой список версий в combobox в datagrid.DataGridComboBoxColumn не отображает мою коллекцию
В колонке «Версии» отображаются «Коллекции» ... и я не знаю почему!
Вот код в моем XAML:
<DataGrid Name="DataGridTableau" Grid.Column="0" Grid.Row="0"
AutoGenerateColumns="False"
ScrollViewer.CanContentScroll="True"
ScrollViewer.VerticalScrollBarVisibility="Auto"
ScrollViewer.HorizontalScrollBarVisibility="Auto" CanUserAddRows="True"
ItemsSource="{Binding }"
>
<DataGrid.Columns>
<DataGridTextColumn Header="Sofware" Width="*" IsReadOnly="True" Binding="{Binding Path=Software}">
</DataGridTextColumn>
<DataGridComboBoxColumn Header="Version" Width="*" IsReadOnly="True"
ItemsSource="{Binding Path=Versions}">
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
И в xaml.cs:
public ObservableCollection<ElementTableau> Elements;
public VueEtapeSelection()
{
InitializeComponent();
Elements = new ObservableCollection<ElementTableau>();
List<string> versions = new List<string>();
versions.Add("3.0");
versions.Add("3.1");
Elements.Add(new ElementTableau("Excel", versions));
this.DataGridTableauEKs.DataContext = Elements;
}
public class ElementTableau
{
private string sofware;
public string Software
{
get { return software; }
set { software = value; }
}
private List<string> versions;
public List<string> Versions
{
get { return versions; }
set { versions = value; }
}
public ElementTableau(string software, List<string> versions)
{
this.software = software;
this.versions=versions
}
}
Спасибо за вашу помощь!
Спасибо, это работает как шарм. Но как я могу привязать выбранный элемент? Я поместил свойство в свой ElementTableau, который является «VersionSelected». Спасибо за вашу помощь – TWEESTY
@TWEESTY Пожалуйста, см. Отредактированный ответ. – Frank
Большое вам спасибо. Я думал, что я попробовал это решение. – TWEESTY