당신은 이것에 대한 조화를 사용할 필요 없다
<dg:DataGrid x:Name="myDataGrid" ItemsSource="{Binding Path = SolarSystemViewModels}" AutoGenerateColumns="False">
<dg:DataGrid.Columns>
<dg:DataGridTextColumn Binding="{Binding FactionKills}" Header="Faction Kills" />
<dg:DataGridTextColumn Binding="{Binding Jumps}" Header="Jumps" />
<dg:DataGridTextColumn Binding="{Binding PodKills}" Header="Pod Kills" />
<dg:DataGridTextColumn Binding="{Binding ShipKills}" Header="Ship Kills" />
</dg:DataGrid.Columns>
</dg:DataGrid>
, 그냥 VS XAML 편집기를 사용합니다.
바인드 재산 "OnAutoGeneratingColumn의"데이터 그리드의이 같은 (주의 XAML이 완료 100 %되지 않습니다) :
<DataGrid AutoGeneratingColumn="OnAutoGeneratingColumn" />
그리고 당신의 코드 숨김에서 :
private void OnAutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
PropertyDescriptor propertyDescriptor = (PropertyDescriptor)e.PropertyDescriptor;
e.Column.Header = propertyDescriptor.DisplayName;
if (propertyDescriptor.DisplayName == "IsInDesignMode")
{
e.Cancel = true;
}
}
여기에 꽤 좋은 해결책이다
"e.Cancel = true;"은 현재 열이 생성되지 않도록합니다. 이것이 DataGrid에서 쉽게 열을 제외 할 수있는 방법입니다.
'AutoGenerateColumns = True'를 사용한다고 가정하면 기본 DataGrid를 사용할 수 없습니다. 보기에 원하는 특정 열을 만들어야합니다. –
[도움이] (http://stackoverflow.com/q/4000132/620360). – LPL
@MetroSmurf 열을 자동 생성하지는 않지만 내 질문이 너무 어리 석다는 것을 깨달았습니다. 감사합니다 – forTruce