问题零您可以有列为您生成,如果你使用AutoGenerateColumns="true"
当您设置的DataGrid DataGrid中。它不会稍后动态添加列,但是如果您重置itemssource,它可能会发生? (在那一个不为正)
问题一个数据网格具有属性AlternatingRowBackground
和AlternationCount
设置交替行背景。但是我没有看到网格中交替列背景的任何东西。你可以做你的DataTemplate里,虽然:
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Background="Red" Foreground="White">I'm Red</TextBlock>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
但我还是看到里面的余量,即使利润率= 0,所以如果你使用任何真正明显的颜色的细胞看起来很有趣。
问题二你的意思是CellEndEditing
事件?因为我没有看到任何其他单元格编辑事件。我试过如下:
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="False" CellEditEnding="DataGrid_CellEditEnding">
<DataGrid.Columns>
<DataGridTextColumn Header="A" Binding="{Binding Field0}" />
<DataGridTemplateColumn Header="BC">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Field1}"/>
<TextBlock Text="{Binding Field2}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBox Text="{Binding Field1}"/>
<TextBox Text="{Binding Field2}" />
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
每当无论是在CellEditingTemplate失去焦点文本框,是否改变或没有数据我DataGrid_CellEditEnding
事件处理函数被调用,这样的事情似乎是为我工作。
您是否使用其他DataGrid而不是“内置”WPF?
问题2对我来说是非常重要的优先事项..我必须解决它的客户需求..请让我知道如果你找到某种设置列颜色的方式! – GuruC 2010-10-07 04:27:15
我的DataTemplate包含一个ComboBox实例对于CellTemplate和CellEditingTemplate,其中UpdateSourceTrigger为propertyChanged,但事件不会引发任何关于此的想法? – 2014-05-19 12:15:31