Я пытаюсь связать List<MyClass>
с ComboBox
.Ниже приведен простой код, который я реализовал:
C #
cmbList.ItemsSource = DbMain.GetNameList();
XAML
<StackPanel Grid.Row="0" Orientation="Horizontal" >
<TextBlock Text="Names:" Margin="5,0,5,0" VerticalAlignment="Center" Width="50" Visibility="Collapsed"/>
<ComboBox x:Name="cmbList" Width="200" SelectionChanged="cmbList_SelectionChanged"
DisplayMemberPath="DisplayName" SelectedValuePath="DisplayName" Foreground="Black"/>
</StackPanel>
Проблема
Значения List<MyClass>
извлекаются из DbMain.GetNameList()
и связываются в ComboBox
, но они не отображаются.Когда я выполняю SelectionChanged
, я могу также получить доступ к SelectedItem
.Проблема только в том, что элементы не видны.
Ошибка в окне вывода
System.Windows.Data Error: 40 : BindingExpression path error: 'DisplayName' property not found on 'object' ''MyClass' (HashCode=804189)'. BindingExpression:Path=DisplayName; DataItem='MyClass' (HashCode=804189); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')