Próbuję wykonać dostosowywanie kontrolki DataGrid
, aby każdy wiersz miał zaokrąglone rogi, bez linii siatki (tylko projekt, z którym pracuję).Tworzenie obiektu ControlTemplate dla obiektu DataGridRow w pakiecie WPF
Próbowałem stworzyć ControlTemplate
, który modyfikuje elementy sterujące DataGridRow
, tak aby miały oczekiwany wygląd. Jak dotąd, jest to, co ja pracuję z:
<DataGrid Grid.Row="0" Grid.Column="0" Margin="5,5,5,5" AutoGenerateColumns="False" ItemsSource="{Binding Path=MyData}">
<DataGrid.Resources>
<Style x:Key="rowStyle" TargetType="{x:Type DataGridRow}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridRow}">
<Border CornerRadius="8,8,8,8" BorderBrush="Red" BorderThickness="2">
<ContentPresenter />
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="Foo" />
<DataGridTextColumn Header="Baz" />
<DataGridTextColumn Header="Bar" />
</DataGrid.Columns>
</DataGrid>
Ta wersja byłoby oczywiście podstawową (po prostu obramowanie wokół szablonu akcji), ale nie widzę żadnej różnicy, kiedy uruchomić aplikację.
Pytanie brzmi, w jaki sposób dostosować szablon sterowania dla DataGridRow? Lub, jeśli to nie działa, czy istnieje lepszy sposób na osiągnięcie moich celów :?
Dzięki dla szablonu. Ponadto największym problemem był atrybut 'x: Klucz'. Jestem tak przyzwyczajony, że je wprowadzam, to reakcja odruchowa. – Michael