Czy istnieje powód, dla którego zawartość tekstowa przycisku WPF pojawia się z niechcianym miejscem nad tekstem?Treść tekstowa przycisku WPF nie jest wyśrodkowana w pionie
Mam przycisk w StackPanel. Ten przycisk jest prostym przyciskiem zamykania, więc chcę, aby wyglądał jak kwadratowy przycisk z "x" w środku. Ustawiłem wyściółkę na zero i ustawię HorizontalContentAlign i VerticalContentAlign na Center, ale "x" nadal pojawia się na dole przycisku (lub nawet obcięte, jeśli mam zbyt duży rozmiar czcionki w stosunku do mojego wzrostu). Wygląda to tak, jakby na górze przycisku znajdowało się dopełnienie, które zapobiega tekstowi przy użyciu pełnej pionowej przestrzeni.
Mój XAML jest:
<StackPanel Orientation="Horizontal">
<Label Content="{Binding GenderFilter.Title}" FontWeight="Bold" Width="60" />
<Button Padding="0" Width="15" Height="15" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" FontSize="12">x</Button>
<Label Content="{Binding GenderFilterExpander.SelectedValue}" />
</StackPanel>
Problemem jest to dokładnie to samo powinno mogę ustawić przycisk nieruchomość VerticalContentAlign albo Stretch lub nawet początku. Jeśli usunę właściwości Wysokości i Wagi tak, że przycisk określa swój własny, to kontrolka nie pojawi się jako prostokąt, ale pionowy prostokąt i "x" nadal nie jest wyśrodkowane.
AKTUALIZACJA: Podczas gdy przycisk i zawartość są teraz idealnie wyśrodkowane, przycisk wciąż jest wyświetlany znacznie większy niż powinien być, tak jakby zastosowano wysokie wypełnienie.
definicja Mój styl zasób jest teraz następująco:
<Style x:Key="ClearFilterButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=ActualHeight}" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="VerticalContentAlignment" Value="Center" />
<Setter Property="Content" Value="X" />
<Setter Property="FontSize" Value="8" />
</Style>
Sam przycisk jest zdefiniowany jako:
<Expander.Header>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding GenderFilter.Title}" FontWeight="Bold" Width="60" />
<Button Style="{StaticResource ClearFilterButtonStyle}"
Visibility="{Binding GenderFilterExpander.ClearFilterVisibility}" />
<Label Content="{Binding GenderFilterExpander.SelectedValue}"
Visibility="{Binding GenderFilterExpander.SelectedValueVisibility}" />
</StackPanel>
</Expander.Header>
ekspandera będąc wewnątrz StackPanel w groupbox obrębie DockPanel.
W widoku projektu przyciski mają właściwy rozmiar, zawierają tylko X, ale w czasie wykonywania stają się powiększone. Jak mogę to poprawić?
mała litera „x” ma pewne dopełnienie na górze, po prostu ponieważ jest to mała litera. Wypróbuj wielkie litery "X" lub narysuj X samodzielnie, korzystając z możliwości rysowania WPF: http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/bcc46802-cfe8-46a6-a07e-9fbbeddc423a – Heinzi