Предположим, что существует элемент с неправильной формы, состоящий из других элементов с произвольной вложенности:МОФ градиента кисти, которая охватывает несколько элементов
<Window.Resources>
<RadialGradientBrush x:Key="brush">
<GradientStop Color="Black" Offset="0" />
<GradientStop Color="White" Offset="1" />
</RadialGradientBrush>
</Window.Resources>
<StackPanel Name="element">
<StackPanel.Effect>
<DropShadowEffect ShadowDepth="0" BlurRadius="10" />
</StackPanel.Effect>
<Rectangle Name="child1" Height="100" Margin="10" Stroke="Black" Fill="{StaticResource brush}" />
<Grid>
<Rectangle Name="child2" Height="100" Margin="10" Stroke="Black" Fill="{StaticResource brush}" />
</Grid>
</StackPanel>
Все части являются взаимосвязанными (т.е. ребенок может быть реальный контроль).
Как заполнить фон детей одним радиальным градиентом, который охватывает все из них (должен выглядеть так, как если бы он был размером с element
).
ОБНОВЛЕНИЕ: У StackPanel есть тень, которую нужно нарисовать вокруг детей.
Одним из возможных решений является создание градиентов с радиусом и происхождения/Центр, связанные с element
х и child
'свойств с соответствующими преобразований, но такой подход был бы довольно сложным и дорогим.
Можете ли вы сами контролировать элементы управления «Прозрачный» и помещать их на задний план? – CodingGorilla
Что значит? Может быть, пример. –
Итак, вы можете создать «DockPanel» с вашим градиентным фоном, а затем поместить свои элементы управления в «DockPanel» (как дети). – CodingGorilla