オブジェクトのリスト(ObservableCollection subjectlist)があり、データバインドおよび依存プロパティを使用してそれらをコンボボックスに表示したいとします。データバインディングObservableCollection <T>とComboBoxは依存関係プロパティでは機能しません
WPF Data Binding to a Combo Box
私はstackoverflowの上で検索し、上記のリンクにクレイグSuchanecのソリューションを実装しようとしました。 (今終日しようと、私はちょうど私のコードで間違っているものを得ることはありません)これがあれば作業を行いMainWindow.xaml
<Grid>
<ComboBox x:Name="comboBox" HorizontalAlignment="Left"VerticalAlignment="Top" Width="120" Margin="321,10,0,0"
ItemsSource="{Binding ElementName=mainWindow, Path=SubjectList}" DisplayMemberPath="Name"/>
</Grid>
を
MainWindow.xaml.cs
public partial class MainWindow : Window
{
public static readonly DependencyProperty SubjectListProperty =
DependencyProperty.Register("SubjectList",
typeof(ObservableCollection<Subject>),
typeof(MainWindow));
private ObservableCollection<Subject> subjectList = new ObservableCollection<Subject>();
Initialization init1;
public ObservableCollection<Subject> SubjectList
{
get { return (ObservableCollection<Subject>)GetValue(SubjectListProperty); }
// get { return subjectList; }
}
public MainWindow()
{
init1 = new Initialization();
subjectList = init1.createMenuSubject();
InitializeComponent();
//this.comboBox.DataContext = SubjectList;
}
}
I DataContextを設定し、依存関係のないプロパティを設定するだけですが、データバインディングの依存関係プロパティを使用しようとすると、それは私の実装とリンクで指定されたソリューションとの間に大きな違いはありません。
誰かがこの問題で私を助けることができれば幸いです。
スクリーンショットではなく、実際のコードを質問に投稿してください。コードの書式設定は簡単で、4つのスペースでインデントするだけです。 – Clemens