我的问题是关于页面表单中的 DataGrid,使用 C#.NET 4.0 编程。该应用程序适用于桌面,而不是 Web 或 Silverlight。
我已经对我们页面的 DataGrid 进行了更改,而不是更改背景。不幸的是,当我选择一行时,它只会变为蓝色(选择标识的颜色)只会影响该行的列。在其中一些数据网格中,我还有一些空间。我需要做的是完全选择该行,包括那个空白区域。
另一件发生变化的事情是当鼠标悬停在任何记录上时的鼠标行为。在此更改之后,现在此行为不再发生。
任何线索我需要做什么?
编辑:添加代码:
我的转换器:
public class RetornaCorFundoGrid : DependencyObject, IValueConverter
{
public static DependencyProperty CorFundoGridParameterProperty =
DependencyProperty.Register("CorFundoGridParameter", typeof(IEnumerable<Object>), typeof(RetornaCorFundoGrid));
public IEnumerable<Object> CorFundoGridParameter
{
get { return ((IEnumerable<Object>)GetValue(CorFundoGridParameterProperty)); }
set { SetValue(CorFundoGridParameterProperty, value); }
}
public object Convert(Object value, Type targetType, object parameter, CultureInfo culture)
{
try
{
if (System.Convert.ToInt16(value) < 5)
return Brushes.BlueViolet;
if (System.Convert.ToInt16(value) < 15)
return Brushes.CadetBlue;
else
return Brushes.Coral;
}
catch (Exception)
{
return Brushes.Black;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
我的绑定反射器:
<ut:BindingReflector Target="{Binding Mode=OneWayToSource, Source = {StaticResource RetornaCorFundoGrid}, Path=CorFundoGridParameter}"
Source="{Binding Parameters, Mode=OneWay}" />
我的行样式:
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Background" Value="{Binding Path=Id, Converter={StaticResource RetornaCorFundoGrid}}"/>
</Style>
</DataGrid.RowStyle>