OpacityMask не работает с WPF WindowsFormsHost? - PullRequest
0 голосов
/ 12 октября 2010

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

1 голос
/ 10 марта 2011

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

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

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

...