Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何在另一个xaml文件中重写数据模板中定义的LinearGradientBrush,而无需再次复制整个模板_Wpf_Templates_Styles_Themes_Basedon - Fatal编程技术网

Wpf 如何在另一个xaml文件中重写数据模板中定义的LinearGradientBrush,而无需再次复制整个模板

Wpf 如何在另一个xaml文件中重写数据模板中定义的LinearGradientBrush,而无需再次复制整个模板,wpf,templates,styles,themes,basedon,Wpf,Templates,Styles,Themes,Basedon,在我的WPF应用程序中,我在所有应用程序上应用了一些购买的网格主题,CR需要能够修改每个模块/屏幕的主题,修改范围将是“使用BasedOn”的笔刷、颜色和样式。。。因此,如果我在某个模板内部定义/使用了画笔,那么如何在本地模块xaml中重写它,而无需再次复制整个模板,关于画笔和颜色,在本地xaml中使用相同的键重新定义它们就足够了吗 下面是我要修改的带笔刷的控件模板: <ControlTemplate x:Key="tableViewColumnManagerRowTemplate"

在我的WPF应用程序中,我在所有应用程序上应用了一些购买的网格主题,CR需要能够修改每个模块/屏幕的主题,修改范围将是“使用BasedOn”的笔刷、颜色和样式。。。因此,如果我在某个模板内部定义/使用了画笔,那么如何在本地模块xaml中重写它,而无需再次复制整个模板,关于画笔和颜色,在本地xaml中使用相同的键重新定义它们就足够了吗

下面是我要修改的带笔刷的控件模板:

 <ControlTemplate x:Key="tableViewColumnManagerRowTemplate"
                TargetType="xcdg:ColumnManagerRow">

  <ControlTemplate.Resources>
     <xcdg:ThicknessConverter x:Key="thicknessConverter"
                              InverseValue="True"/>
  </ControlTemplate.Resources>

  <Grid>
     <Grid.ColumnDefinitions>
        <!-- HierarchicalGroupLevelIndicatorPane -->
        <ColumnDefinition Width="Auto" />
        <!-- GroupLevelIndicatorPane -->
        <ColumnDefinition Width="Auto" />
        <ColumnDefinition Width="Auto" />

        <!-- CellsHost panel -->
        <ColumnDefinition Width="*" />
     </Grid.ColumnDefinitions>

     <!-- GroupLevelIndicatorPane is a placeholder for individual GroupLevelIndicator elements that are added
                   whenever this Row is part of a group. -->
     <xcdg:HierarchicalGroupLevelIndicatorPane Visibility="Collapsed" Grid.Column="0" />
     <xcdg:GroupLevelIndicatorPane x:Name="groupLevelIndicatorPane"
                                   Grid.Column="1" />


     <Grid Height="{TemplateBinding Height}"
           Grid.ColumnSpan="3"
           Grid.Column="1"
           xcdg:TableView.CanScrollHorizontally="False">

        <Grid.RowDefinitions>
           <RowDefinition Height="17*" />

           <RowDefinition Height="8*" />

           <RowDefinition Height="10*" />

        </Grid.RowDefinitions>

        <Border x:Name="Border1"
                Background="#121212"
                Grid.RowSpan="4"/>

        <!--Bottom Gradient-->
        <Border x:Name="grpManborderBottomGradient"
                Grid.Row="2">
           <Border.Background>

              <LinearGradientBrush
                 StartPoint="0.125,1"
                 EndPoint="0.125,0.0142">

                 <GradientStop Color="#445282" // This to be overridden
                               Offset="0" />

                 <GradientStop Color="#29314D"// This to be overridden
                               Offset="0.53" />

                 <GradientStop Color="#12131D"// This to be overridden
                               Offset="0.95" />

              </LinearGradientBrush>

           </Border.Background>
        </Border>

        <!--Top Gradient-->
        <Border x:Name="topGradientBorder"
                VerticalAlignment="Stretch"
                Opacity="0.8"
                Grid.Row="0">
           <Border.Background>

              <LinearGradientBrush StartPoint="0.5,1"
                                   EndPoint="0.5,0">

                 <GradientStop Color="#393F4D" // This to be overridden
                               Offset="0" />

                 <GradientStop Color="#4A5367" // This to be overridden
                               Offset="0.33" />

                 <GradientStop Color="#626C88" // This to be overridden
                               Offset="1" />

                 <GradientStop Color="#FF5F6A87"// This to be overridden
                               Offset="0.988" />

              </LinearGradientBrush>

           </Border.Background>
        </Border>

        <!--internal border, needs to be last to be over other gradients-->
        <Border x:Name="Border2"
                BorderThickness="1"
                BorderBrush="#9CA3B5"
                Margin="0,0,0,0"
                Grid.RowSpan="3"/>

     </Grid>
     -->Template to be continued...

-->模板将继续。。。