我在UniformGrid中以编程方式生成了按钮,即4行4列,因此16个按钮。
我希望能够单击并拖动以创建一个矩形框来选择按钮框。
这个是可能的吗?
正在尝试使用此示例,但未看到拖放框出现。
Click and drag selection box in WPF
目前,由于所有这些代码都是编程的,所以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>发布于 2019-08-12 14:49:18
从在Canvas上绘制UniformGrid开始
<Grid>
<UniformGrid>
<Button/>
...etc....
</UniformGrid>
<Canvas/>
<Grid>然后你会通过鼠标向下处理,鼠标移动和鼠标向上的事件为画布。在鼠标向下,您将添加一个矩形到画布上作为当前鼠标pos,在鼠标移动中,您将调整矩形的大小,根据当前鼠标pos,并计算出哪些按钮被矩形包围,并通过绑定到某个视图模型将其设置为"selected“。在鼠标向上,您将删除矩形。在样式中会有某种类型的触发器,以便在选择时将样式设置为不同。
https://stackoverflow.com/questions/57462453
复制相似问题