0

我试图在通过 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>
4

1 回答 1

1

我怀疑它不起作用的原因与 z-indexing 不起作用的原因相同。来自链接的文档:“托管的 Windows 窗体控件在单独的 HWND 中绘制,因此它始终绘制在 WPF 元素之上。”

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

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

于 2011-03-10T04:42:14.037 回答