如何将datagrid绑定到wpf中某个类的某些属性?

Amb*_*ber 5 data-binding wpf datagrid class

是否可以将数据网格绑定到只有类的选择成员?我目前进行绑定的方式是,所有类变量都被绑定(一对一映射)到datagrid的列.

    private void OnPropertyChanged(string property)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }
Run Code Online (Sandbox Code Playgroud)

现在我只想将几个类属性(不是全部)绑定到datagrid.

AlS*_*Ski 17

是的,只需关闭AutoGenerateColumns并手动指定它们即可

在MainWindow.xaml中

<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Hello}" Header="Hello" />
        <DataGridTextColumn Binding="{Binding World}" Header="World" />
    </DataGrid.Columns>
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

在MainWindow.xaml.cs中

  public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        DataContext = new[] { new FakeViewModel() };
    }
}
Run Code Online (Sandbox Code Playgroud)

在FakeViewModel.cs中

namespace WpfApplication4
{
  class FakeViewModel
  {
    public FakeViewModel()
    {
        Hello = "Hello";
        World = "World";
        Then = DateTime.Now;
    }
    public DateTime Then { get; set; }
    public string Hello { get; set; }
    public string World { get; set; }
  }
}
Run Code Online (Sandbox Code Playgroud)

请注意未使用的物业然后!