10

WPF でaListを aにバインドする際に問題があります。DataGrid私が試したことを説明しましょう。

public struct SomeInfo
{
    public string Name;
    public string Description;
    public string ID;
}

List<SomeInfo> arrSomeInfo;

には構造体のarrSomeInfo複数の項目が含まれますSomeInfo

次のDataGridように見えます:

<DataGrid Name="grdMailbag" AutoGenerateColumns="False" ItemsSource="{Binding}">
    <DataGrid.Columns>
        <DataGridTextColumn x:Name="cID" Binding="{Binding ID}" Header="ID" />
        <DataGridTextColumn x:Name="cName" Binding="{Binding Name}" Header="Name" />
        <DataGridTextColumn x:Name="cDescription" Binding="{Binding Description}" Header="Description" />
    </DataGrid.Columns>
</DataGrid>

私は成功せずに次のことを試しました:

this.grdMailbag.ItemsSource = arrSomeInfo; //Didn't worked
this.grdMailbag.DataContext= arrSomeInfo;  // Didn't worked

何が起こっているかというと、行を追加していますList arrSomeInfoが、すべての行が空白です。

4

1 に答える 1

15

これを変える:

public struct SomeInfo
{
    public string Name;
    public string Description;
    public string ID;
}

これに:

public class SomeInfo
{
    public string Name {get;set;}
    public string Description {get;set;}
    public string ID {get;set;}
}

WPF は、フィールドへのバインドをサポートしていません。プロパティのみ。また、 astructは、表現しようとしているデータに適した型ではありません。

于 2013-08-05T21:58:05.343 に答える