我在WPF中组合OpacityMask和Adorners时遇到了一些麻烦。
基本上有一个图像应用了不透明蒙版,在它上面是一个装饰,这是一个可移动的指南。
移动Adorner时,图像中会出现瑕疵。沿着装饰器的边界框,出现了1px宽的线条。在这些线条上,图像变得透明(尽管不透明蒙版不会使区域透明)。 此行为取决于两个(afaik)因素:
知道什么可能导致这种行为或我如何避免它?
这是一些代表我的布局的XAML代码。这不是实际的布局代码。我试图将布局内容减少到关键组件,我认为这些组件与问题有关。
<ScrollViewer>
<ContentControl> <!-- control for zooming the content with a render transform -->
<Image Source="..." /> <!-- Background-Image -->
<Image Source="..."> <!-- Foreground-Image with Mask -->
<Image.OpacityMask>
<VisualBrush />
</Image.OpacityMask>
</Image>
</ContentControl>
<AdornerLayer>
<myControls:GuideLineAdorner />
</AdornerLayer>
</ScrollViewer>
神器线的屏幕截图:
答案 0 :(得分:1)
我最近碰到了这个问题。经过一番谷歌搜索后,我遇到this msdn forum post给了我需要的解决方法。
就我而言,我有一个带有OpacityMask的Grid。 Grid的子节点正在显示工件。为了防止显示工件,我能够在我的网格上将RenderOptions.EdgeMode附加属性设置为“别名”。