Par exemple, remarquez que le texte n'est pas tout à fait au centre vertical de la ComboBox.
Voici mon XAML:
<Window x:Class="_24HoursBook.MainWindow"
xmlns="http://schemas.Microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.Microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="450" Width="350" MinHeight="450" MinWidth="350">
<Grid ShowGridLines="True">
<Grid.RowDefinitions>
<RowDefinition Height="0.15*" />
<RowDefinition />
</Grid.RowDefinitions>
<Image Grid.Row="0" Stretch="Fill" Source="Image/topBarBg.png" />
<StackPanel Orientation="Horizontal" Grid.Row="0">
<TextBlock Text="Platform"
Foreground="White"
FontFamily="Georgia"
FontSize="15"
Margin="10"
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
<ComboBox x:Name="cmbPlatform"
Margin="10"
FontFamily="Georgia"
FontSize="15"
MinHeight="30"
MinWidth="140"
VerticalAlignment="Center">
<ComboBoxItem>All Platforms</ComboBoxItem>
<ComboBoxItem>PlayStation 3</ComboBoxItem>
<ComboBoxItem>XBox 360</ComboBoxItem>
<ComboBoxItem>Wii</ComboBoxItem>
<ComboBoxItem>PSP</ComboBoxItem>
<ComboBoxItem>DS</ComboBoxItem>
</ComboBox>
</StackPanel>
<Image Grid.Row="0" Source="Image/about.png"
Height="16" HorizontalAlignment="Right"
VerticalAlignment="Center"
Margin="0 0 10 0" />
<ListView Grid.Row="1" Background="#343434">
</ListView>
</Grid>
</Window>
Ajoutez VerticalContentAlignment="Center"
à votre liste déroulante.
Vous devez jouer avec, mais si je devais deviner:
<ComboBox x:Name="cmbPlatform"
Margin="10"
FontFamily="Georgia"
FontSize="15"
MinHeight="30"
MinWidth="140"
VerticalAlignment="Center"
VerticalContentAlignment="Center">
Essayez de changer le MinHeight="30"
en un nombre plus petit. Il se peut que vous rendiez la boîte plus grande que le texte. Le texte est centré sur la ligne mais la boîte est plus grande.
Si je copie et colle votre code, le texte est aligné verticalement au centre de la zone de liste déroulante. Êtes-vous sûr de ne pas avoir défini de style ou de modèle dans votre application qui s'applique à vos contrôles et qui rend cela possible?
EDIT: Peu importe. J'avais en fait un style défini dans mon application:
<Style TargetType="{x:Type ComboBox}">
<Setter Property="VerticalContentAlignment" Value="Center" />
</Style>
Donc, quand j'ai copié et collé votre code, cela a fonctionné pour moi!
vous pouvez modifier l'alignement vertical/horizontal de la manière suivante:
<ComboBox x:Name="cmbPlatform" Margin="10" FontFamily="Georgia" FontSize="15"
MinHeight="30" MinWidth="140"
VerticalContentAlignment="Center"
HorizontalContentAlignment="Center">