WPF OpacityMask随子元素的负边距移动
问题描述:
当我将具有负边距的元素放入ie中时。与OpacityMask边界,面具也会移动。WPF OpacityMask随子元素的负边距移动
有谁知道是否有办法将不透明蒙版应用于Border控件的视口,而不管任何边距?
我想实现的是只有边框内容的文本中心线应该完全可见。我通过将边框内该元素的边距设置为负值来移动文本(实际上是一个ItemsSource)。这创造了一个很酷的效果,其他线条也不透明,因此中线显然是当前线条。不幸的是,WPF也会移动我的蒙版,因此当我移动内容时,完全可见的线条也会在边框控件中向上移动。
<Popup x:Name="PART_Popup"
VerticalOffset="{TemplateBinding TumblerVOffset}" IsOpen="{TemplateBinding IsTumblerVisible}"
PlacementTarget="{Binding RelativeSource={RelativeSource AncestorType={x:Type controls:TouchEditBox}}}"
MinWidth="{TemplateBinding TumblerWidth}" AllowsTransparency="True"
Height="{TemplateBinding TumblerHeight}" Placement="Relative">
<Border Background="{StaticResource TumblerBackground}" BorderBrush="White" BorderThickness="1">
<Border.OpacityMask>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<LinearGradientBrush.GradientStops>
<GradientStop Color="Transparent" Offset="0.0" />
<GradientStop Color="Black" Offset="0.4" />
<GradientStop Color="Black" Offset="0.6" />
<GradientStop Color="Transparent" Offset="1.0" />
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Border.OpacityMask>
<ItemsControl ItemsSource="{Binding TumblerHandler.Tumblers, RelativeSource={RelativeSource TemplatedParent}}"
HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</Border>
</Popup>
答
我找到了解决办法 - 对持有谁的利润率是负的(在我的情况ItemsControl的)的元素的容器设置ClipToBounds =“真”。
我找到了一个解决方案 - 在容器上设置ClipToBounds =“True”,它包含了Margin为负的元素(在我的情况下为ItemsControl)。 – uTILLIty