是否可以将数据网格绑定到类的选择性成员? 我现在进行绑定的方式是,所有类变量都被绑定(一对一映射)到datagrid的列。
private void OnPropertyChanged(string property)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(property));
}
}
现在我只想将几个类属性(不是全部)绑定到datagrid。
答案 0 :(得分:16)
是的,只需关闭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>
在MainWindow.xaml.cs
中 public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataContext = new[] { new FakeViewModel() };
}
}
在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; }
}
}
请注意未使用的Property Then!