У меня есть пользовательская кнопка-переключатель, основанная на кнопке-переключателе:
<Style TargetType="{x:Type local:ToolbarRadioButton}" BasedOn="{StaticResource {x:Type ToggleButton}}">
<Setter Property="Width" Value="60"/>
<Setter Property="Height" Value="60"/>
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<StackPanel Orientation="Vertical">
<iconPacks:PackIconModern Kind="{Binding TbIcon, RelativeSource={RelativeSource AncestorType=RadioButton}}"
Height="30" Width="35" HorizontalAlignment="Center"/>
<TextBlock Text="{Binding TbText, RelativeSource={RelativeSource AncestorType=RadioButton}}" FontSize="12"
HorizontalAlignment="Center"/>
</StackPanel>
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
Я использую этот элемент управления для создания четырех кнопок-переключателей / переключателей.Я горизонтально отцентрировал элементы в табличке данных, но в итоге получаю следующее:
Прогноз и его иконка кажутся центрированными, но остальныечастично выровнены по левому краю.Все они используют один и тот же элемент управления, поэтому разве они не должны быть центрированы?
РЕДАКТИРУЕТСЯ ДЛЯ ЯРКОСТИ: Неважно, в каком порядке я поставил их, прогноз всегда корректен.В тексте нет пробелов и в изображениях нет пробелов, и все изображения имеют размер в соответствии с определенным выше элементом управления.Вот часть реализации на случай, если она будет полезна, хотя все они одинаковы:
<StackPanel Orientation="Horizontal" Grid.Column="0" Grid.Row="0">
<customs:ToolbarRadioButton TbText="Day" TbIcon="CalendarDay" GroupName="calViewType" x:Name="dayOnOff"/>
<customs:ToolbarRadioButton TbText="Week" TbIcon="CalendarWeek" GroupName="calViewType" x:Name="weekOnOff"/>
<customs:ToolbarRadioButton TbText="Month" TbIcon="CalendarMonth" GroupName="calViewType" x:Name="monthOnOff" IsChecked="True"/>
<customs:ToolbarRadioButton TbText="Forecast" TbIcon="PeopleMultiple" GroupName="calViewType" x:Name="forecastOnOff"/>
</StackPanel>