2014-09-29 84 views
0

我已經風格在WPF DataGrid中許多屬性,如背景,字體顏色等WPF的DataGrid:如何風格的「刪除行」按鈕

但是,當您從DataGrid中刪除行, DataGrid上似乎有一個「刪除行」按鈕。我也想要它的樣式,如背景,字體顏色等。

我該怎麼做,而不覆蓋整個DataGrid模板? 非常感謝!

enter image description here

+0

如何指定上下文菜單?你有一些ContextMenu =「」屬性? – Albi 2014-09-29 12:19:56

回答

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 2014-09-30 05:52:25

+0

@RainCast你必須接受這個答案,如果它工作。 – cKNet 2014-10-05 15:33:41

+0

是的,謝謝,標記。 – RainCast 2014-10-17 09:11:44