Я не уверен, как это сделать, но я создал пользовательскую панель FooPanel
. Я хочу, чтобы моя FooPanel заставляла всех детей соответствовать размеру, заданному панелью (таким образом, они одинаковы). Я знаю о UniformGrid
, но у меня есть кое-что еще.
Я не уверен, как заставить детей вписаться в коробку, которой я им говорю.
Child.xaml:
<Style TargetType="{x:Type l:FooChild}">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="Padding" Value="12,2,12,2" />
<Setter Property="Foreground" Value="Black" />
<Setter Property="Background" Value="White" />
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
<Setter Property="VerticalContentAlignment" Value="Stretch" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type l:FooChild}">
<Border x:Name="ChromeBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true">
<ContentPresenter ContentSource="Header" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>