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