我已经在 UniformGrid 中以编程方式生成了按钮,即 4 行 4 列,因此有 16 个按钮。
我希望能够单击并拖动以创建一个矩形框来选择一个按钮框。
这可能吗?
当前正在尝试使用此示例但未看到拖动框出现
目前,由于它都是程序化的,XAML 中的 UniformGrid 代码是这样的:
<Canvas DockPanel.Dock="Top" Name="buttonCanvas" Width="800" Height="400">
<Rectangle x:Name="selectionBox" Visibility="Collapsed" Stroke="White" StrokeThickness="4" />
<UniformGrid DockPanel.Dock="Top" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" x:Name="uniformGrid" Grid.Row="1" Width="800" Height="400"
Rows="{Binding RowNums}"
Columns="{Binding ColumnNums}" MouseDown="uniformGrid_MouseDown" MouseUp="uniformGrid_MouseUp" MouseMove="uniformGrid_MouseMove" Background="Transparent">
</UniformGrid>
<!-- This canvas contains elements that are to be selected -->
</Canvas>
通过绘制开始Canvas
在UniformGrid
:
<Grid>
<UniformGrid>
<Button/>
...etc....
</UniformGrid>
<Canvas/>
<Grid>
然后,您将通过处理画布的鼠标按下、鼠标移动和鼠标抬起事件。在鼠标按下时,您将在画布上添加一个矩形作为当前鼠标位置,在鼠标移动中,您将根据当前鼠标位置调整矩形的大小,并确定矩形包围哪些按钮并将它们设置为“已选择”通过绑定到某个地方的视图模型。在鼠标向上,您将删除矩形。您将在样式中使用某种触发器来将样式设置为在选择时不同
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句