Comment avez-vous d'aligner le texte de sorte qu'il est au milieu d'un bouton dans Silverlight?
Voici le code actuel, je suis en utilisant:
<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ButtonPrototype.MainPage"
Width="640" Height="480">
<UserControl.Resources>
<ControlTemplate x:Key="CellTemplate" TargetType="Button">
<Grid>
<Border x:Name="CellBorderBrush" BorderBrush="Black" BorderThickness="1">
<ContentPresenter
Content="{TemplateBinding Content}"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Border>
</Grid>
</ControlTemplate>
<Style x:Key="CellStyle" TargetType="Button">
<Setter Property="Template" Value="{StaticResource CellTemplate}"></Setter>
<Setter Property="Foreground" Value="Black"></Setter>
<Setter Property="FontSize" Value="80"></Setter>
<Setter Property="Width" Value="100"></Setter>
<Setter Property="Height" Value="100"></Setter>
</Style>
</UserControl.Resources>
<Grid x:Name="LayoutRoot" Background="White">
<Button Content="A" Style="{StaticResource CellStyle}"></Button>
</Grid>
</UserControl>
L'Horizontal alignement fonctionne, mais le verticalalignment ne pas faire n'importe quoi. Merci pour votre aide.
OriginalL'auteur EverTheLearner | 2010-03-18
Vous devez vous connecter pour publier un commentaire.
Le problème est que par l'attribution de la chaîne de la
Content
de laContentPresenter
Silverlight doit créer un formulaire deTextBlock
de présenter la chaîne. Son la position de cetteTextBlock
ce qui n'est pas centré dans l'espace vertical fourni par leContentPresenter
. Modification du bouton comme ceci:-serait-il fixer. Cependant, vous pourriez bien être en mesure de spécifier une chaîne de caractères du Contenu et de l'avoir centré. Dans ce cas, vous pourriez modifier votre template:-
En plaçant le
ContentPresenter
dans unStackPanel
laContentPresenter
va prendre le minimum de la hauteur nécessaire à l'affichage de son contenu. LeStackPanel
à son tour seulement a la hauteur de son contenu, et puis il est centré à l'intérieur duBorder
.Si j'ai été la construction de ce, de ce à quoi cela ressemblerait à:-
C'est une approche plus générale du bouton. Bien sûr, il est légitime de les utiliser le plus simple plus perscriptive modèles quand le style est utilisé à des fins très spécifiques à des fins locales.
OriginalL'auteur AnthonyWJones
Ce que je suis en utilisant peut vous aider dans votre cause:
OriginalL'auteur nvr