Мне нужно создать много ControlTemplates для моих сеток.После написания шаблона элемента управления мне нужно использовать его в другой сетке с некоторыми условиями, такими как номер строки и т. Д. В моем случае, когда я вызываю свой GridTitle <ContentControl Template="{StaticResource GridTitle}"/>
, он работает хорошо, но когда я вызываю BarsVerticalRight, <ContentControl Template="{StaticResource BarsVerticalRight}"/>
не работает.
Это мой код:
<Window.Resources>
<Style x:Key="GridColored" TargetType="Grid">
<Setter Property="Background" Value="#FF4E5E72"/>
</Style>
<LinearGradientBrush x:Key="BackgroundColor" EndPoint="0.5,1.272" StartPoint="0.5,0">
<GradientStop Color="#FF4E5E72" Offset="1"/>
</LinearGradientBrush>
<ControlTemplate x:Key="GridTitle">
<Grid Grid.Row="0" Style="{StaticResource GridColored}" Grid.IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="60*" SharedSizeGroup="A"/>
<ColumnDefinition Width="12*" />
<ColumnDefinition Width="90*" />
<ColumnDefinition Width="248*" />
<ColumnDefinition Width="30*" />
</Grid.ColumnDefinitions>
<Grid Grid.Column="0">
<Image Source="pack://application:,,,/Gate;component/Images/Logo_BlancFondGris.jpg" Stretch="UniformToFill"/>
</Grid>
<Viewbox Grid.Column="2" Stretch="Uniform">
<Grid>
<Image Source="pack://application:,,,/Gate;component/Images/Titre.jpg" Stretch="UniformToFill"/>
</Grid>
</Viewbox>
<Grid Grid.Column="3">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<Viewbox Grid.Row="0" HorizontalAlignment="Right">
<TextBlock TextWrapping="Wrap" Foreground="White" FontWeight="Bold" FontStyle="Italic" Text="{Binding CentreName, Mode=OneWay}" />
</Viewbox>
<Grid Grid.Row="1">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="130*"/>
<ColumnDefinition Width="25*"/>
</Grid.ColumnDefinitions>
<Viewbox Grid.Column="1">
<TextBlock TextWrapping="Wrap" Language="fr-FR" Text="{Binding DateTimeLocal, Mode=OneWay,StringFormat='{}{0: dd/MM/yyyy hh:mm}'}" Foreground="White" HorizontalAlignment="Stretch" >
</TextBlock>
</Viewbox>
</Grid>
</Grid>
</Grid>
</ControlTemplate>
<ControlTemplate x:Key="BarsVerticalLeft">
<Grid Grid.Column="0" Style="{StaticResource GridColored}" Margin="0,-9,0,0"/>
</ControlTemplate>
<ControlTemplate x:Key="BarsVerticalRight">
<Grid Grid.Column="2" Style="{StaticResource GridColored}" Margin="0,0,0,-10"/>
</ControlTemplate>
</Window.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="80*" />
<RowDefinition Height="615*" />
<RowDefinition Height="15*" />
</Grid.RowDefinitions>
<ContentControl Template="{StaticResource GridTitle}"/>
<Grid Margin="0,42,0,10" Grid.RowSpan="3">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="20*"/>
<ColumnDefinition Width="1950*"/>
<ColumnDefinition Width="20*"/>
</Grid.ColumnDefinitions>
<ContentControl Template="{StaticResource BarsVerticalLeft}"/>
<ContentControl Template="{StaticResource BarsVerticalRight}"/>
</Grid>
</Grid>