誰でも助けてくれますか? itemtemplateを持つカスタムコンボボックスを作成しました。選択したアイテムをバインドしていますが、コンボボックス内の選択項目として表示されません。私のカスタムコンボボックスに選択した値が表示されない理由
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>
のviewmodel:ここ はコードです
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>
であなたのLinkedClassificationを見つけることができる、LinkedClassificationに等しく、GetHashCodeメソッドをオーバーライドする必要がありますあなたがのItemsSourceによってバインドさの値を参照していますし、ちょうど右の選択や丼が欠落していますあなたはどんなアイテムも見ない? – MatthiasG
@MatthiasG:はい、私はそれらを見ることができます。 – Girirsh
あなたの拘束力に問題があると思います。デバッグ出力にバインディングエラーがありますか?おそらく、あなたのビューモデルのより詳細な部分(特に、SelectedItemとItemsSourceのソース)を書くことができます。 – MatthiasG