WPF 在DataGrid选中某一行时,该行的DataGridTemplateColumn中控件的背景颜色需要怎么才能变?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 在DataGrid选中某一行时,该行的DataGridTemplateColumn中控件的背景颜色需要怎么才能变?相关的知识,希望对你有一定的参考价值。

<DataGridTemplateColumn Width="0.7*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate >
<Border BorderBrush="Black" BorderThickness="1" Margin="2">
<TextBlock VerticalAlignment="Center" Text="Binding Name" Background="#FFEEEEEE" />
</Border>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

需要在选中的时候改变TextBlock的颜色

参考技术A 设置DataGrid.Colum和Row的属性

WPF ListView点击删除某一行并获取绑定数据

最近在开发WPF程序时遇到一个问题,在gridview中希望实现在每一行最后添加一个删除的按钮,但是发现点击每行的button时只会触发button的点击事件,并没有选中这一行,此时调用list.SelectedItem时无法得到对应的绑定数据。

UI.xaml
<ListView x:Name="list" Height="494" Width="1121" FontSize="16" >
<ListView.View>
<GridView x:Name="grideView" >
<GridViewColumn Header="产 品 名 称" Width="Auto" DisplayMemberBinding="{Binding Path=productName}"/>
<GridViewColumn Header="产 品 类 型" Width="Auto" DisplayMemberBinding="{Binding Path=productType}"/>
<GridViewColumn Header="产 品 大 类" Width="Auto" DisplayMemberBinding="{Binding Path=productCategory}" />
<GridViewColumn Header="产 品 规 格" Width="Auto" DisplayMemberBinding="{Binding Path=productSpec}"/>
<GridViewColumn Header="产 品 数 量" Width="Auto" DisplayMemberBinding="{Binding Path=number}"/>
<GridViewColumn Header="价 格" Width="Auto" DisplayMemberBinding="{Binding Path=productMoney}"/>
<GridViewColumn Header="操 作" Width="Auto" > <GridViewColumn.CellTemplate>
<DataTemplate>
<Button x:Name="BtnDelete" Background="{x:Null}" BorderBrush="{x:Null}" Click="BtnDelete_Click" >
<Image Source="/images/error.png" />
</Button>
</DataTemplate> </GridViewColumn.CellTemplate>
</ListView.View>
</ListView>
 
UI.cs
/**
* 删除按钮监听事件
* */
private void BtnDelete_Click(object sender, RoutedEventArgs e)
{
//设置girid的选中元素为Button所在行的元素
list.SelectedItem = ((Button)sender).DataContext;
//在数据集合中删除此元素
mItemsSource.RemoveAt(list.SelectedIndex);
list.Items.Refresh();//刷新listview
}
效果图

技术图片

 

以上是关于WPF 在DataGrid选中某一行时,该行的DataGridTemplateColumn中控件的背景颜色需要怎么才能变?的主要内容,如果未能解决你的问题,请参考以下文章

C#的wpf工程中由于datagrid中的数据一直在更新所以每次选中某一行时,数据一更新选中就会被取消掉

如何用代码选中datagrid中的某一行

WPF DataGrid 获取选中 一行 或者 多行

wpf datagrid cell 设置焦点

wpf datagrid 多行表头

EasyUI datagrid 如何默认选择多行