0

次のような Person クラスがあるとしましょう

Public class Person
{

public string firstName {set;get;}
public string lastName {set;get;}
}

私のViewModeクラスには、PersonのobservableCollectionがあります

 private ObservableCollection<Person> _people;
 public ObservableCollection<Person> People
    {
        get { return _people; }
        set
        {
            _people= value;
            FirePropertyChanged("People");
        }
    }

私の見解では、ItemsSource が People にバインドされているデータグリッドがあります。SelectedValue が SelectedFieldValue にバインドされているビューにコンボボックスがあり、このコンボボックスで選択された値を使用してグリッドビューに行を追加したい

  private string _selectedFieldValue;
    public string SelectedFieldValue
    {
        get { return _selectedFieldValue; }
        set
        {
            _selectedFieldValue = value;

            FirePropertyChanged("SelectedFieldValue");
            People.Add(New Person{firstName = value});

         }
    }

行はグリッドに追加されますが、追加された FirstName の値が表示されません。列 FirstName をバインドする方法をいくつか試しましたが、正しく動作させることができませんでした。グリッド内の DataGridTextColumn を person クラスの firstName、lastName プロパティにバインドする正しい方法は何ですか。

4

1 に答える 1

1

これをチェックしてください..

 <sdk:DataGrid x:Name="dataGrid4"  
        Height="160" ItemsSource="{Binding People}" AutoGenerateColumns="False" >
        <sdk:DataGrid.Columns>
            <sdk:DataGridTextColumn 
                Header="First Name" 
                Width="SizeToHeader"
                Binding="{Binding firstName}" 
                FontSize="20" />
            <sdk:DataGridTextColumn 
                Header="Last Name" 
                Width="SizeToCells"
                Binding="{Binding lastName}" 
                FontSize="20" />
        </sdk:DataGrid.Columns>
    </sdk:DataGrid>
于 2012-08-07T22:15:10.440 に答える