2014-09-29 6 views
0

я уже стилизованную много атрибутов в WPF DataGrid, такие как фон, цвет шрифта и т.д.WPF DataGrid: Как стиль кнопки «Удалить строку»

Однако при удалении строки из DataGrid, в DataGrid появляется кнопка «Удалить строку». Я хотел бы также создать стиль, например, фон, цвет шрифта и т. Д.

Как я могу это сделать без переопределения всего шаблона DataGrid? Большое спасибо!

enter image description here

+0

Как указано ваше контекстное меню? У вас есть атрибут ContextMenu = ""? – Albi

ответ

1

Это ContextMenu. Вы можете добавить этот XAMl-код в свой App.Xaml, вы можете его стилизовать.

<Style TargetType="{x:Type ContextMenu}"> 
    <Setter Property="SnapsToDevicePixels" 
      Value="True" /> 
    <Setter Property="OverridesDefaultStyle" 
      Value="True" /> 
    <Setter Property="Grid.IsSharedSizeScope" 
      Value="true" /> 
    <Setter Property="HasDropShadow" 
      Value="True" /> 
    <Setter Property="Template"> 
    <Setter.Value> 
     <ControlTemplate TargetType="{x:Type ContextMenu}"> 
     <Border x:Name="Border" 
       Background="{StaticResource MenuPopupBrush}" 
       BorderThickness="1"> 
      <Border.BorderBrush> 
      <SolidColorBrush Color="{StaticResource BorderMediumColor}" /> 
      </Border.BorderBrush> 
      <StackPanel IsItemsHost="True" 
         KeyboardNavigation.DirectionalNavigation="Cycle" /> 
     </Border> 
     <ControlTemplate.Triggers> 
      <Trigger Property="HasDropShadow" 
        Value="true"> 
      <Setter TargetName="Border" 
        Property="Padding" 
        Value="0,3,0,3" /> 
      <Setter TargetName="Border" 
        Property="CornerRadius" 
        Value="4" /> 
      </Trigger> 
     </ControlTemplate.Triggers> 
     </ControlTemplate> 
    </Setter.Value> 
    </Setter> 
</Style> 

<!--Control colors.--> 
<Color x:Key="WindowColor">#FFE8EDF9</Color> 
<Color x:Key="ContentAreaColorLight">#FFC5CBF9</Color> 
<Color x:Key="ContentAreaColorDark">#FF7381F9</Color> 

<Color x:Key="DisabledControlLightColor">#FFE8EDF9</Color> 
<Color x:Key="DisabledControlDarkColor">#FFC5CBF9</Color> 
<Color x:Key="DisabledForegroundColor">#FF888888</Color> 

<Color x:Key="SelectedBackgroundColor">#FFC5CBF9</Color> 
<Color x:Key="SelectedUnfocusedColor">#FFDDDDDD</Color> 

<Color x:Key="ControlLightColor">White</Color> 
<Color x:Key="ControlMediumColor">#FF7381F9</Color> 
<Color x:Key="ControlDarkColor">#FF211AA9</Color> 

<Color x:Key="ControlMouseOverColor">#FF3843C4</Color> 
<Color x:Key="ControlPressedColor">#FF211AA9</Color> 


<Color x:Key="GlyphColor">#FF444444</Color> 
<Color x:Key="GlyphMouseOver">sc#1, 0.004391443, 0.002428215, 0.242281124</Color> 

<!--Border colors--> 
<Color x:Key="BorderLightColor">#FFCCCCCC</Color> 
<Color x:Key="BorderMediumColor">#FF888888</Color> 
<Color x:Key="BorderDarkColor">#FF444444</Color> 

<Color x:Key="PressedBorderLightColor">#FF888888</Color> 
<Color x:Key="PressedBorderDarkColor">#FF444444</Color> 

<Color x:Key="DisabledBorderLightColor">#FFAAAAAA</Color> 
<Color x:Key="DisabledBorderDarkColor">#FF888888</Color> 

<Color x:Key="DefaultBorderBrushDarkColor">Black</Color> 

<!--Control-specific resources.--> 
<Color x:Key="HeaderTopColor">#FFC5CBF9</Color> 
<Color x:Key="DatagridCurrentCellBorderColor">Black</Color> 
<Color x:Key="SliderTrackDarkColor">#FFC5CBF9</Color> 

<Color x:Key="NavButtonFrameColor">#FF3843C4</Color> 

<LinearGradientBrush x:Key="MenuPopupBrush" 
        EndPoint="0.5,1" 
        StartPoint="0.5,0"> 
    <GradientStop Color="{DynamicResource ControlLightColor}" 
       Offset="0" /> 
    <GradientStop Color="{DynamicResource ControlMediumColor}" 
       Offset="0.5" /> 
    <GradientStop Color="{DynamicResource ControlLightColor}" 
       Offset="1" /> 
</LinearGradientBrush> 

<LinearGradientBrush x:Key="ProgressBarIndicatorAnimatedFill" 
        StartPoint="0,0" 
        EndPoint="1,0"> 
    <LinearGradientBrush.GradientStops> 
    <GradientStopCollection> 
     <GradientStop Color="#000000FF" 
        Offset="0" /> 
     <GradientStop Color="#600000FF" 
        Offset="0.4" /> 
     <GradientStop Color="#600000FF" 
        Offset="0.6" /> 
     <GradientStop Color="#000000FF" 
        Offset="1" /> 
    </GradientStopCollection> 
    </LinearGradientBrush.GradientStops> 
</LinearGradientBrush> 
+0

Ты потрясающий !! Большое спасибо. – RainCast

+0

@RainCast вы должны принять этот ответ, если он работает. – cKNet

+0

Да, спасибо, отмечены. – RainCast

Смежные вопросы