我在Silverlight 3中使用了fontSize = 20的radiobutton.
在控件内,无线电对话图像被强制到顶部对齐.
相对于文本/内容,图像显得太高.对于较小的文本大小,这并不明显,但是对于较大的文本大小,文本/内容与对话图像之间的垂直对齐看起来很难看.
关于如何纵向对齐=中间文本和对话框图像的任何想法?
TY
解决方法
RadioButton内的图像由几个分组为Grid元素的Ellipse元素组成.如果您查看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设置为Middle或使用TemplateBinding将其设置为VerticalContentAlignment值.
<Grid HorizontalAlignment="Left" VerticalAlignment="Middle">
要么
<Grid HorizontalAlignment="Left" VerticalAlignment="{TemplateBinding VerticalContentAlignment}">