OpacityMask无法使用WPF WindowsFormsHost?

时间:2010-10-12 11:49:55

标签: wpf opacitymask windowsformhost

我正在尝试在通过WindowsFormHost对象托管的控件上放置一个圆角边框。似乎无论我为OpacityMask设置什么,它对渲染都没有影响。有没有我错过的东西?

这是我正在使用的XAML代码。在运行时添加子控件。我尝试了各种面具组合,但没有一种适合我。任何帮助,将不胜感激。谢谢!

    <WindowsFormsHost Background="#FF2BBA62" Height="414" Width="516" Margin="176.5,223,309.5,92" Name="vcxHost1" UseLayoutRounding="False" ClipToBounds="True" >
        <WindowsFormsHost.OpacityMask>
            <VisualBrush>
                <VisualBrush.Visual>
                    <Rectangle Height="10" Width="100" Name="border1" />
                </VisualBrush.Visual>
            </VisualBrush>
        </WindowsFormsHost.OpacityMask>
    </WindowsFormsHost>

1 个答案:

答案 0 :(得分:1)

我怀疑它不起作用,因为z-indexing不起作用。从链接的doc:“托管的Windows窗体控件是在单独的HWND中绘制的,因此它总是在WPF元素之上绘制。”

请参阅有关布局限制的段落... http://msdn.microsoft.com/en-us/library/ms744952.aspx

这也可能有用...... http://msdn.microsoft.com/en-us/library/ms742522.aspx