Mal*_*oss 7 wpf xaml rendering
我在XAML/WPF中有一个Border,我用它来给对话框中的文本标题提供一个全段宽的下划线.我将其BorderThickness属性设置为"0,0,0,1".在某些地方,最终会使用2像素粗的下划线进行渲染,而在其他地方,它会正确显示为单像素下划线.我究竟做错了什么?
这是我用来替换我的标签的可视树的控件模板(模板的使用是无关紧要的,我会想到):
<ControlTemplate x:Key="HeaderTemplate" TargetType="{x:Type Label}">
<Border BorderThickness="0,0,0,1" Margin="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Margin}">
<Border.BorderBrush>
<LinearGradientBrush StartPoint="0,0" EndPoint="1,0">
<GradientStop Offset="0" Color="Black"/>
<GradientStop Offset="0.6" Color="Black"/>
<GradientStop Offset="1" Color="Transparent"/>
</LinearGradientBrush>
</Border.BorderBrush>
<TextBlock Text="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Content}" Style="{StaticResource HeaderStyle}"
Margin="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=Padding}"/>
</Border>
</ControlTemplate>
Run Code Online (Sandbox Code Playgroud)
我对WPF很新,所以我怀疑我遗漏了一些关于它的渲染模型的基础知识.
作为参考,我没有应用缩放变换(或任何其他类型的变换).任何帮助,将不胜感激.:)
小智 9
我认为你要找的是在你的XAML中设置这个属性:
SnapsToDevicePixels = "真"
参考:http://msdn.microsoft.com/en-us/library/vstudio/aa970908( v = vs.90).aspx
| 归档时间: |
|
| 查看次数: |
4269 次 |
| 最近记录: |