在单元格块鼠标右键选择中带有 Viewbox 的 WPF Datagrid
WPF Datagrid with a Viewbox in a cell block right mouse button selection
我使用带有模板化单元格的数据网格来呈现我的数据。我可以添加我想到的任何类型的 UI 元素(DataTemplate、ContentControl、StackPanel、Rectangle),一切仍然正常。但是一旦我添加了一个 ViewBox,右键单击鼠标按钮(在元素上)就会停止选择 row/cell。左键单击保持正常工作。
据我所知,ViewBox 应该只是可视的,但不会影响任何事件路由。
重现问题的示例代码(红色矩形有效,绿色无效):
<DataGrid ItemsSource="{Binding}"
IsReadOnly="True"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal"
Margin="10">
<Rectangle Width="50"
Height="50"
Fill="Red" />
<Viewbox>
<Rectangle Width="50"
Height="50"
Fill="Green" />
</Viewbox>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我尝试在子控件中捕获鼠标事件并将其发送给父控件但没有成功。
我使用带有模板化单元格的数据网格来呈现我的数据。我可以添加我想到的任何类型的 UI 元素(DataTemplate、ContentControl、StackPanel、Rectangle),一切仍然正常。但是一旦我添加了一个 ViewBox,右键单击鼠标按钮(在元素上)就会停止选择 row/cell。左键单击保持正常工作。
据我所知,ViewBox 应该只是可视的,但不会影响任何事件路由。
重现问题的示例代码(红色矩形有效,绿色无效):
<DataGrid ItemsSource="{Binding}"
IsReadOnly="True"
AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal"
Margin="10">
<Rectangle Width="50"
Height="50"
Fill="Red" />
<Viewbox>
<Rectangle Width="50"
Height="50"
Fill="Green" />
</Viewbox>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我尝试在子控件中捕获鼠标事件并将其发送给父控件但没有成功。