コレクションのクラスメンバーをバインドする方法

私はコレクションに追加した要素のクラスメンバを DisplayMemberPath にバインドしたいと思います。私は ObservableCollection ComboBox.ItemSource にバインドして、 name プロパティを自分のクラス AxisBase
ここに私のコードです:

private ObservableCollection axis { get; set; }

axis I use to hold elements of the following class

class AxisBase
{
    ...
    public string name { get; set; }
    ...
}

これは私のxamlがどのように見えるかです

  

誰かが DisplayMemberPath name をバインドする方法を知っていますか?

1
どうもありがとう。私はObservableCollectionを public に変更しなければなりませんでした。ちょっとしたことがコード全体を混乱させる:)ありがとう!
追加された 著者 theknut,
私の答えの更新を見てください。私はあなたに例を挙げます。
追加された 著者 Serghei,

1 答え

DisplayMemberPathの値を変更する

 DisplayMemberPath="name" 
 SelectedValuePath="name"

and look at this question

あなたのためのサンプルアプリケーションを作成しました ここではxaml



    

ここにコードの背後にある

using System.Collections.ObjectModel;
using System.Windows;

namespace ComboBoxSample
{
/// 
/// Interaction logic for MainWindow.xaml
/// 
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        AxisBases = new ObservableCollection
                        {
                            new AxisBase {Name = "Firts"},
                            new AxisBase {Name = "Second"},
                            new AxisBase {Name = "Third"}
                        };
        //Set the data context for use binding
        DataContext = this;
    }

    public ObservableCollection AxisBases { get; set; }
}

public class AxisBase
{
    public string Name { get; set; }
}

}

それは正常に動作し、コンボボックスでのバインディングは3つの項目が表示されます。

3
追加された
@theknut:マニュアルを読んでください。
追加された 著者 H.B.,
うまくいかないようです...私はObservableCollectionを、とにかくバインドしますか?
追加された 著者 theknut,
私は試みましたが、私はメタデータの設定に失敗します。それは私のクラスをロードすることはできませんし、デザイナーはクラッシュします。
追加された 著者 theknut,