Я имею в DataGrid
с DataGridComboBoxColumn
в WPF
проекте установлен так:WPF DataGridComboBoxColumn не работает
<DataGridComboBoxColumn Header="Master" SelectedItemBinding="{Binding MasterId}" SelectedValueBinding="{Binding Id}" DisplayMemberPath="Id" ItemsSource="{Binding Masters}" />
но при запуске проекта на дисплее столбца только пустые значения и выпадающие в режиме редактирования делает то же самое вещь.
DataGrid устанавливается следующим образом:
<DataGrid Name="ReadersGrid" Grid.Row="0" Grid.Column="0" Margin="3" ItemsSource="{Binding Readers}" CanUserAddRows="True" CanUserDeleteRows="True" AutoGenerateColumns="False">
И UserControl так:
<UserControl x:Class="SmartAccess.Tabs.ReadersTab"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SmartAccess.Tabs"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="300" DataContext="{StaticResource ReadersListViewModel}">
и другие столбцы, только текст, прекрасно работают.
ViewModel обладает этими свойствами
public ObservableCollection<ReaderViewModel> Readers { get; set; }
public IEnumerable<ReaderViewModel> Masters => Readers.Concat(new List<ReaderViewModel> { new ReaderViewModel { Id = -1 } }).OrderBy(t => t.Id);
И коллекция ViewModel обладает этими свойствами
public long Id { get; set; }
public long MasterId { get; set; }
Я отображающие Id
только для теста, описание имущества будет добавлено в будущем.
Почему ComboBoxColumn не работает?
Я не вижу вопрос. Порекомендуйте вам ознакомиться с http://stackoverflow.com/help/mcve за советом о том, как задать такой вопрос. И добро пожаловать в переполнение стека! –
Есть, вероятно, проблемы с привязкой, посмотрите на окна вывода вашего проекта, он должен сообщить вам, какие свойства не найдены, и где он их ищет. – omerts
Ошибка @omerts заключается в следующем: 'System.Windows.Data Error: 2: Не удается найти управляющий элемент FrameworkElement или FrameworkContentElement для целевого элемента. BindingExpression: Path = Masters; DataItem = NULL; целевым элементом является «DataGridComboBoxColumn» (HashCode = 24534150); target свойство - «ItemsSource» (тип «IEnumerable») ', но я не понимаю –