업데이트 2 다음 Xceed 문서와 난 당신이 모든의 DataRow에 RowSelectorStyle을 설정해야합니다 것을 발견 Xceed의 포럼을 통해 찾아.
<Grid.Resources>
<Style x:Key="mySelectorStyle" TargetType="{x:Type xcdg:RowSelector}">
<Setter Property="Background" Value="LightGreen"/>
<Setter Property="BorderBrush" Value="DarkGreen"/>
</Style>
<Style TargetType="{x:Type xcdg:DataRow}">
<Setter Property="xcdg:RowSelector.RowSelectorStyle"
Value="{StaticResource mySelectorStyle}" />
</Style>
</Grid.Resources>
업데이트 3 당신은 내가 행 섹션 외부 부품을 놓친 바로 다음과 같습니다 rowselectorpane 자체. 불행하게도 그것은 스타일화할 수 없습니다. Xceed 포럼에 제안
- 가 TableViewScrollViewer의의 ControlTemplate을 다시 작성
: 2 개 가지 옵션이 있습니다. 그러나 이것은 xaml의 큰 부분에 대한 지루한 복사 붙여 넣기 작업이며 사용자가 원하는 모양으로 바꾸려는 작은 부분을 변경합니다.
또는 다음 작은 해킹 :
private void dataGridLoaded(object sender, RoutedEventArgs e)
{
var rowSelectorPane = TreeHelper.FindVisualChild<RowSelectorPane>(_dataGrid);
if (rowSelectorPane != null)
{
rowSelectorPane.Background = Brushes.LightGreen;
}
}
public static class TreeHelper
{
public static TChildItem FindVisualChild<TChildItem>(DependencyObject obj) where TChildItem : DependencyObject
{
for (int i = 0; i < VisualTreeHelper.GetChildrenCount(obj); i++)
{
DependencyObject child = VisualTreeHelper.GetChild(obj, i);
if (child != null && child is TChildItem)
return (TChildItem)child;
TChildItem childOfChild = FindVisualChild<TChildItem>(child);
if (childOfChild != null)
return childOfChild;
}
return null;
}
}
XAML은 : <xcdg:DataGridControl ItemsSource="{Binding}" Name="_dataGrid" Loaded="dataGridLoaded" etc...>
이 데이터 행에 RowSelectorPane에서로만 색상을 절반 방법을 작동하는 것 같다. ColumnManagerCells 영역 또는 데이터가 설정되지 않은 영역은 어떻습니까? 귀하의 도움에 대해 매우 감사 드리며, 수정이 불가능한 경우이를 수행해야합니다. – Seb
나는 앞서 많은 일을하고있는 것 같습니다. 도와 주셔서 정말 감사합니다. – Seb