在单元格块鼠标右键选择中带有 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>

我尝试在子控件中捕获鼠标事件并将其发送给父控件但没有成功。

我在这个网站上找到了解决方案(Yves.Z 的最后评论)

https://social.msdn.microsoft.com/Forums/vstudio/en-US/63fa1e10-1050-4448-a2bc-62dfe0836f25/selecting-datagrid-row-when-right-mouse-button-is-pressed?forum=wpf