OpacityMask не работает с WPF WindowsFormsHost?

Я пытаюсь поставить округлую границу для элемента управления, который размещается через объект 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 ответ

Решение

Я подозреваю, что это не работает по той же причине, что z-indexing не работает. Из связанного документа: "Размещенный элемент управления Windows Forms рисуется в отдельном HWND, поэтому он всегда рисуется поверх элементов WPF".

См. Параграф об ограничениях макета... http://msdn.microsoft.com/en-us/library/ms744952.aspx

Это также может быть полезно... http://msdn.microsoft.com/en-us/library/ms742522.aspx

Другие вопросы по тегам