Почему мой пользовательский комбинированный список не показывает выбранное значение - PullRequest
0 голосов
/ 16 марта 2012

Может кто-нибудь, пожалуйста, помогите мне. Я создал специальный комбинированный список, в котором есть шаблон элемента, я привязываю выбранный элемент, но не могу видеть его как выбранный элемент в поле со списком. Вот код:

xaml:

<Grid>
    <hcw:ClassificationSelectorThreeLayerComboBox Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="4" SelectedItem="{Binding Path=SelectedValue,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}" ItemsSource="{Binding CarePlanCatalogs.AllLinkedClassifications}" Margin="3,3,20,3"/>
</Grid>

модель просмотра:

class NeedViewModel : CarePlanEntityViewModelBase
{
    public LinkedClassification SelectedValue
    {
        get { return selectedValue; }
        set 
        {
            if (value != null)
            {
                selectedValue = value;
                OnPropertyChanged("SelectedValue");
            }
        }
    }
}


<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

<DataTemplate x:Key="ClassificationSelectorThreeLayerDataTemplate">
    <Border BorderBrush="#ACACAC" BorderThickness="0,0,0,1">
        <StackPanel>
            <Label Content="{Binding Path=ClassificationComponent.ComponentName}" Margin="0,0,0,4" />
            <Label Content="{Binding Path=MainClass.MainClassName}" Margin="0,0,0,4"  />
            <Label Content="{Binding Path=SubClass.SubClassName}" Margin="0,0,0,4"  />
        </StackPanel>
    </Border>

</DataTemplate>

Ответы [ 2 ]

1 голос
/ 16 марта 2012

Работает ли с обычным комбобоксом?

Вы устанавливаете для SelectedValue один из экземпляров LinkedClassification из CarePlanCatalogs.AllLinkedClassification или создаете другой экземпляр? Если вы создаете другой экземпляр, вы должны переопределить Equals и GetHashCode в LinkedClassification, чтобы wpf мог найти вашу LinkedClassification в CarePlanCatalogs.AllLinkedClassification

0 голосов
/ 16 января 2016

Вы устанавливаете SelectedValue в один из экземпляров LinkedClassification из CarePlanCatalogs.AllLinkedClassification или создаете другой экземпляр?

Если вы создаете другой экземпляр, вы должны переопределить Equals и GetHashCode в LinkedClassification, чтобы wpf мог найти вашу LinkedClassification в CarePlanCatalogs.AllLinkedClassification

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...