2012-09-17 54 views
3

是否可以將數據網格綁定到只有選擇性類的成員? 我現在已經做了綁定的方式,所有的類變量都被綁定(映射到一個)到datagrid的列。如何將數據網格綁定到wpf中某個類的某些屬性?

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

現在我只想要將一些類屬性(不是全部)綁定到數據網格。

+0

是的,但有可能...給我們看一些代碼!你的類,DataGrid和你的目標:你想要綁定什麼? – Damascus

回答

13

是的,只要關閉的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; } 
    } 
} 

請注意未使用的財產然後!

+0

我已經擴展了這個例子,所以你可以更清楚地看到它使用了一個類。但是,你是否建議你仍然想自動生成列並簡單地排除其中的一些? – AlSki

+0

謝謝!這幾乎是我所期待的。然而,如果有一種方法可以不設置自動生成列,我真的很想知道。 – Amber

相關問題