请问WPF DataGrid SelectionChanged事件中怎么获取行啊?dataGridRow.Background好像只有获取行后才设置
2个回答
展开全部
datagridrow.background不需要获取行后才能设置的,比如你在trigger设置。
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Yellow"/>
</Trigger>
</Style.Triggers>
</Style>
再者,通过SelectionChanged获取datagridrow对象可以这么写(dg为DataGrid名称,t为你选中的实体对象)
private void dg_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
TestDemo t = dg.SelectedItem as TestDemo;
if (t != null)
{
DataGridRow dr = (DataGridRow)(dg.ItemContainerGenerator.ContainerFromItem(t));
dr.Background = new SolidColorBrush(Colors.Yellow);
}
}
<Style TargetType="DataGridRow">
<Style.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="Yellow"/>
</Trigger>
</Style.Triggers>
</Style>
再者,通过SelectionChanged获取datagridrow对象可以这么写(dg为DataGrid名称,t为你选中的实体对象)
private void dg_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
TestDemo t = dg.SelectedItem as TestDemo;
if (t != null)
{
DataGridRow dr = (DataGridRow)(dg.ItemContainerGenerator.ContainerFromItem(t));
dr.Background = new SolidColorBrush(Colors.Yellow);
}
}
2013-06-05
展开全部
((System.Windows.Controls.DataGrid)(sender)).RowBackground
这是SelectionChanged事件的object sender 能获取到。
你是想做什么操作?
这是SelectionChanged事件的object sender 能获取到。
你是想做什么操作?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询