WPF ItemsControl渲染转换与其他面板的行为异常

时间:2017-03-13 15:28:55

标签: c# wpf xaml data-binding

我创建了一个wpf程序,允许您移动ItemsControl面板上的控件以复制斑马打印机标签,然后可以打印。我创建了一个与itemscontrol下方的滑块绑定的放大功能。图片如下: sliders binded to rendertransform

这完美无瑕。但是,如果将属性面板移动到更接近itemscontrol并放大,则会发生以下情况: Weird behaivor

我不希望蓝色背景隐藏itemscontrol。我希望属性面板只是滑过itemscontrol,而不会影响itemscontrol的显示方式。

以下是rendertransformitemscontrol

的xaml代码
<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>

在大多数情况下,我忽略了这个问题,但在处理较小的显示器时这是一个更大的问题。我的问题是这种行为有什么明显的原因吗?如果是这样,我该如何解决?

0 个答案:

没有答案