我在Silverlight 3中使用FontSize = 20的單選按鈕。Radiobuttons和Silverlight
在控制中,無線電對話框圖像被強制頂部對齊。
相對於文字/內容,圖片顯得過高。對於較小的文字大小,這並不明顯,但文字大小較大時,文本/內容和對話框圖像之間的垂直對齊看起來很醜。 有關如何垂直對齊=中間文本和對話框圖像的任何想法?
TY
我在Silverlight 3中使用FontSize = 20的單選按鈕。Radiobuttons和Silverlight
在控制中,無線電對話框圖像被強制頂部對齊。
相對於文字/內容,圖片顯得過高。對於較小的文字大小,這並不明顯,但文字大小較大時,文本/內容和對話框圖像之間的垂直對齊看起來很醜。 有關如何垂直對齊=中間文本和對話框圖像的任何想法?
TY
的單選按鈕內部的圖像由分組到網格元件幾個橢圓元件的。如果您查看RadioButton模板(使用Expression Blend編輯現有模板的副本),您將看到Grid元素VerticalAlignment設置爲Top。
<Grid HorizontalAlignment="Left" VerticalAlignment="Top">
<Ellipse x:Name="Background" Fill="#FFFFFFFF"
Stroke="{TemplateBinding BorderBrush}"
StrokeThickness="{TemplateBinding BorderThickness}"
Height="14" Margin="1" Width="14"/>
...
的ContentPresenters(其中顯示文本)VerticalAlignment設爲您在VerticalContentAlignment屬性設置的值。
<ContentPresenter x:Name="contentPresenter"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
Margin="{TemplateBinding Padding}"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
Grid.Column="1" Content="{TemplateBinding Content}"
ContentTemplate="{TemplateBinding ContentTemplate}"/>
要解決你的問題,你需要Grid元素的VerticalAlignment設置爲中等或使用TemplateBinding將其設置爲VerticalContentAlignment值。
<Grid HorizontalAlignment="Left"
VerticalAlignment="Middle">
OR
<Grid HorizontalAlignment="Left"
VerticalAlignment="{TemplateBinding VerticalContentAlignment}">
看來最好的辦法是使用類似填充=「5,-7,0,0」
救了我的一天。謝謝! – 2011-09-21 10:33:04