5

データグリッドをクラスの選択したメンバーのみにバインドすることは可能ですか?現在バインドを行っている方法では、すべてのクラス変数がdatagridの列にバインドされています(1対1でマップされています)。

    private void OnPropertyChanged(string property)
    {
        if (PropertyChanged != null)
        {
            PropertyChanged(this, new PropertyChangedEventArgs(property));
        }
    }

ここで、いくつかのクラスプロパティ(すべてではない)のみをデータグリッドにバインドする必要があります。

4

1 に答える 1

18

はい、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; }
  }
}

未使用の物件にご注意ください!

于 2012-09-17T14:17:21.127 に答える