メモ) C# DataGridでくそつまらん罠

久々のプログラミングネタ。

というか、1時間以上ド嵌りしたので、個人用メモ書き。

C# WPF のDataGridにアイテムをバインドするとき、バインドしたアイテムのプロパティが自動的にヘッダーについてくれるはずなのに、なぜかつかない。

なんでかっていうと・・・。

public class Nanika
{
     public string Namae;   // これはDataGridからみるとプロパティにならない
}

上の例だと、Namaeはプロパティ扱いされないので、ヘッダーに表示されない。

public class Nanika
{
     public string Namae   // getter, setter が付いて初めてプロパティ扱いされる
    {
        get;
        set;
    }
}

上の例だと、Namaeはプロパティ扱いされ、ヘッダーに"Namae"が表示される。

知らなかった。こんなつまらな・・・

というか、この書き方なら

public string Namae;

public string Namae
{
    get;
    set;
}

も、同じじゃないんかい!

やっぱり、後者は前者の省略形じゃなくて、あくまでstring型のpublicな変数で、後者はstring型のpublicなプロパティということを明示するということでしょうか?

とりあえず、ド嵌りしたのでメモとして走り書きでした。
以上。

コメント

タイトルとURLをコピーしました