可以在整个网格中移动且不属于网格行或列的 XAML 元素

Mah*_*kia 0 .net wpf xaml

由于我是 XAML 和 WPF 的新手,我的问题可能不明确。提前接受我的道歉。

为了简单起见,我正在开发一个项目,其中有一些按钮和一个自定义指针来选择这些按钮之一。我可以让程序正常运行,而无需使用网格行和列来组织我的元素。然而,当我最大化窗口时,情况变得一团糟。因此,我使用具有百分比宽度和高度的网格行和列来解决这个问题。但现在,指针卡在其中一个网格中,无法移出。我想以某种方式定义我的指针,使其可以沿着整个网格移动,而无需绑定到行或列。这是我的 XAML 代码:

<Window x:Class="testGallery.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local ="clr-namespace:Kinect.Toolbox;assembly=Kinect.Toolbox"
    Loaded="Window_Loaded"
    Title="MainWindow">

<Grid Margin="0,0,0,97">
    <Grid.RowDefinitions>
        <RowDefinition Height="68*" />
        <RowDefinition Height="101*" />
    </Grid.RowDefinitions>

    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="150*" />
        <ColumnDefinition Width="150*" />
    </Grid.ColumnDefinitions>

    <Button Click="Button_Click_1" Grid.Column="1" Grid.Row="1" Margin="10" >
        <StackPanel>
            <Image x:Name="myImage" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Margin="5"/>
        </StackPanel>
    </Button>

    <Canvas x:Name="mouseCanvas" Margin="-24,263,24,-263"/>
</Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,Convas 是我的自定义指针。

dow*_*for 5

尝试

<Canvas x:Name="mouseCanvas" Grid.ColumnSpan="2" Grid.RowSpan="2" Margin="-24,263,24,-263"/>
Run Code Online (Sandbox Code Playgroud)

这将允许您的画布使用所有可用的行和列。因为每个网格都有两个,所以将跨度设置为“2”表示整个网格。