我有一个看起来像这样的ItemsControl:
<ItemsControl x:Name="ItemsPanel" Grid.Row="1" ItemsSource="{Binding SquaresList}" Margin="10">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel IsItemsHost="True" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type logic:PFSquare}">
<Rectangle Width="{Binding Width}"
Height="{Binding Height}"
Fill="{Binding Fill, UpdateSourceTrigger=PropertyChanged}"
Margin="{Binding Margin}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseEnter">
<i:InvokeCommandAction Command="{Binding OnMouseEnterCommand}"/>
</i:EventTrigger>
<i:EventTrigger EventName="MouseDown">
<i:InvokeCommandAction Command="{Binding OnMouseDownCommand}"/>
</i:EventTrigger>
<i:EventTrigger EventName="MouseRightButtonDown">
<i:InvokeCommandAction Command="{Binding OnMouseRightCommand}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Rectangle>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
它只是一个矩形网格,看起来像这样: (ItemsSource是53 ^ 2个自定义正方形类实例的Observable集合)
我有一系列事件,当我单击某些正方形时会更改所单击的正方形的填充,请务必注意,我需要这些事件才能正常运行。 我想要的是能够使用滚轮进行放大,我尝试从另一个问题实现this answer,但是它完全破坏了比例,并破坏了我的项目控件。有没有办法实现对此控件的缩放并仍保留缩放和事件?