DataGrid Silverlight列数据绑定

时间:2012-08-07 21:17:06

标签: silverlight mvvm

假设我有一个像

这样的人类
Public class Person
{

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

在我的ViewMode类中,我有一个observableCollection Person

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

在我看来,我有一个dataSrid,ItemsSource绑定到People。我在视图中有一个组合框,其SelectedValue被绑定到SelectedFieldValue,我想在gridview中添加一行,其中包含在此Combobox中选择的值

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

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

         }
    }

该行被添加到Grid中,但我没有看到添加了FirstName的值。我尝试了几种方法来绑定FirstName列,但无法正常工作。将网格中的DataGridTextColumn绑定到person类的firstName,lastName属性的正确方法是什么。

1 个答案:

答案 0 :(得分: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>