我创建了一个wpf程序,允许您移动ItemsControl
面板上的控件以复制斑马打印机标签,然后可以打印。我创建了一个与itemscontrol
下方的滑块绑定的放大功能。图片如下:
sliders binded to rendertransform
这完美无瑕。但是,如果将属性面板移动到更接近itemscontrol并放大,则会发生以下情况: Weird behaivor
我不希望蓝色背景隐藏itemscontrol
。我希望属性面板只是滑过itemscontrol
,而不会影响itemscontrol
的显示方式。
以下是rendertransform
和itemscontrol
<Grid x:Name="BackGroundGrid" ClipToBounds="True">
<Grid.Background>
<LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF257DA6" Offset="1" />
<GradientStop Color="White" Offset="0.233" />
</LinearGradientBrush>
</Grid.Background>
<ItemsControl x:Name="Canvas" Height="230" Margin="79,115,0,0" VerticalAlignment="Top" Background="#FFE4E4E4" HorizontalAlignment="Left" Width="800" ClipToBounds="False" Panel.ZIndex="-2" ItemsSource="{Binding Children}" DataContext="{Binding Source={StaticResource MainWindowViewModel}}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Grid/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<i:Interaction.Triggers>
<i:EventTrigger EventName="PreviewMouseMove">
<i:InvokeCommandAction Command="{Binding CanvasMouseMoveCommand}" CommandParameter="{Binding ElementName=Canvas}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
<ItemsControl.Effect>
<DropShadowEffect BlurRadius="10" Opacity="0.5" />
</ItemsControl.Effect>
<ItemsControl.RenderTransform>
<TransformGroup>
<ScaleTransform ScaleX="{Binding Value, ElementName=slider}" ScaleY="{Binding Value, ElementName=slider}" CenterX="{Binding Value, ElementName=slider1}" CenterY="{Binding Value, ElementName=slider2}" />
<SkewTransform />
<RotateTransform />
<TranslateTransform />
</TransformGroup>
</ItemsControl.RenderTransform>
</ItemsControl>
在大多数情况下,我忽略了这个问题,但在处理较小的显示器时这是一个更大的问题。我的问题是这种行为有什么明显的原因吗?如果是这样,我该如何解决?