Ivan D'souza
Ivan D'souza

Reputation: 105

WPF - How to view a property name in comboboxitem list

I have a combobox that is binded to collection called Models but it shows the ToString value instead of Name property

<xctk:WatermarkComboBox x:Name="cb_Model" ItemsSource="{Binding Models}" DisplayMemberPath="Name" SelectedValue="{Binding SelectedModel}" Grid.Column="2" Grid.Row="2" Watermark="Vehicle Model"/>

    private ObservableCollection<tbl_Model> _models;
    public ObservableCollection<tbl_Model> Models
    {
        get { return _models; }
        private set {
            _models = value;
            NotifyPropertyChanged("Models");
        }
    }

tbl_Models properties : Model_No Name Manufacturer

Image for reference

The comboboxitem isnt displaying the name property.How can i achieve it without overriding the ToString() method ? Thanks in advance

Upvotes: 0

Views: 272

Answers (1)

Anton Danylov
Anton Danylov

Reputation: 1491

Seems that it is a bug in WatermarkComboBox. Just specify DataTemplate explicitly, instead of setting DisplayMemberPath:

    <xtck:WatermarkComboBox x:Name="cb_Model" ItemsSource="{Binding Models}" SelectedValue="{Binding SelectedModel}"  Watermark="Vehicle Model">
        <xtck:WatermarkComboBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding Name}" />
            </DataTemplate>
        </xtck:WatermarkComboBox.ItemTemplate>
    </xtck:WatermarkComboBox>

Upvotes: 2

Related Questions