Я следующие стили для моих DataGrid строк и ячеек:Установить границу на DataGrid ряд
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="Margin" Value="0"/>
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="HorizontalAlignment" Value="Stretch" />
<Setter Property="Foreground" Value="{StaticResource ResourceKey=CouleurTexte}" />
<Setter Property="Padding" Value="0"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="Cursor" Value="Arrow"/>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{StaticResource ResourceKey=CouleurDataGridRowSelected}"/>
<Setter Property="Foreground" Value="{StaticResource ResourceKey=CouleurTexteBouton}" />
<Setter Property="BorderBrush" Value="{StaticResource ResourceKey=CouleurDataGridBorderSelected}" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="{StaticResource ResourceKey=CouleurDataGridRowHover}"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type DataGridCell}">
<Setter Property="Padding" Value="5" />
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Cursor" Value="Arrow"/>
<Setter Property="BorderThickness" Value="0"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Border Padding="{TemplateBinding Padding}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="True">
<ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}">
<ContentPresenter.ContentTemplate>
<DataTemplate>
<TextBlock Background="Transparent" Name="texte" TextTrimming="CharacterEllipsis"
Height="auto" Width="auto" VerticalAlignment="Center" Text="{Binding Text}"/>
</DataTemplate>
</ContentPresenter.ContentTemplate>
</ContentPresenter>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="{StaticResource ResourceKey=CouleurDataGridRowSelected}"/>
</Trigger>
<DataTrigger Binding="{Binding Path=IsMouseOver, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}}}" Value="True">
</DataTrigger>
</Style.Triggers>
</Style>
с моей DataGrid, определенной со звездами в ширину моих колонок (так что они могут взять все пространство окна).
Я хочу установить границу вокруг полной строки при ее выборе. Мои стили работают нормально, пока я не установил BorderThickness в 1 в строке datagrid. Когда я делаю datagrid, покажите горизонтальную полосу прокрутки, чтобы прокрутить только один (возможно, 2) пиксель (тот, который добавлен в рамку). Когда у меня нет всех моих столбцов с «», так как ширина отлично работает, но мне нужно найти способ заставить его работать с «». Как я могу избежать такого поведения? Кажется, граница выходит за пределы строки?
Спасибо
Благодарим вас за ваш ответ, но я не понимаю «край поля», можете ли вы привести мне пример или ссылку? Спасибо – user2088807
set Margin = "-5" – Muds