0
我有一個組合框VerticalContentAlignment
設置爲Center
但是它仍然不是中心。我意識到問題在於它是以小寫字母爲中心,而不是整個文本。因此,如果您有像This Is An Example
這樣的文字並測量小寫字母e
的上/下空格,那麼它將居中。但是,大寫字母使它看起來更加頂端一致。在許多應用程序中,這是處理....有沒有辦法在WPF中處理這個?Combobox不是視覺中心
我有一個組合框VerticalContentAlignment
設置爲Center
但是它仍然不是中心。我意識到問題在於它是以小寫字母爲中心,而不是整個文本。因此,如果您有像This Is An Example
這樣的文字並測量小寫字母e
的上/下空格,那麼它將居中。但是,大寫字母使它看起來更加頂端一致。在許多應用程序中,這是處理....有沒有辦法在WPF中處理這個?Combobox不是視覺中心
您可以使用ComboBox.ItemTemplate
property來定義您的ComboBoxItem
應該是什麼樣子。然後,您可以安排您的項目內容反正你認爲合適:
<ComboBox ItemsSource="{Binding Items}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" VerticalAlignment="Center" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
如果你想要的東西,不這樣做,您也可以使用該Run.BaselineAlignment
property進一步選擇:
<ComboBox ItemsSource="{Binding Items}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock VerticalAlignment="Center">
<Run BaselineAlignment="TextBottom" Text="{Binding}" />
</TextBlock>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
我剛以爲......你很可能是能夠到要使用TextBlock.Margin
或TextBlock.Padding
性質,定位文本:
<ComboBox ItemsSource="{Binding Items}">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding}" Margin="0,2,0,0" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
你能證明你的標記 – MethodMan 2014-09-03 15:56:35