【发布时间】:2011-03-27 13:49:51
【问题描述】:
我在使用 FluidKit's ElementFlow 控件的 WPF 应用程序中遇到奇怪的别名行为。我们在应用程序中使用控件来呈现内容,当 ElementFlow 的元素倾斜时,边缘别名如下图所示:
为了避免混叠,我们决定摆脱倾斜角度,所以我创建了一个快速测试应用程序,我将倾斜角度、项目间隙和弹出距离绑定到滑块,以便找出看起来最好的.
但是,在使用相同设置的测试应用中,边缘的抗锯齿效果很好:
我假设在 XAML 层次结构的某处设置了一些设置来控制它,但我尝试在设计时和运行时(使用绑定和诸如 Snoop 之类的工具)对各种元素和样式设置 SnapsToDevicePixels没用。
ElementFlow 的 XAML 如下:
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<Fluid:ElementFlow
x:Name="ContentElementFlow"
SelectedIndex="{Binding SelectedIndex}"
Focusable="True"
TiltAngle="15.95"
ItemGap="0.722"
FrontItemGap="0.052"
PopoutDistance="1.631"
HasReflection="False"
Background="Transparent"
CurrentView="{StaticResource CoverFlowView}"
ElementWidth="175"
ElementHeight="250"
>
<Fluid:ElementFlow.Camera>
<PerspectiveCamera
FieldOfView="60"
Position="0,0,6"
LookDirection="0,0,-6"
UpDirection="0,1,0"
/>
</Fluid:ElementFlow.Camera>
</Fluid:ElementFlow>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
我还在两台不同的机器上尝试了这两种应用程序(一台运行 XP Pro,一台 XP Embedded,两者都有不同级别的专用显卡)并且都在一个应用程序中演示了锯齿,而在另一个应用程序中演示了抗锯齿。
有没有人知道可以用来控制这个的任何设置或 XAML 属性?
【问题讨论】:
标签: .net wpf antialiasing