由于我是 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 是我的自定义指针。
尝试
<Canvas x:Name="mouseCanvas" Grid.ColumnSpan="2" Grid.RowSpan="2" Margin="-24,263,24,-263"/>
Run Code Online (Sandbox Code Playgroud)
这将允许您的画布使用所有可用的行和列。因为每个网格都有两个,所以将跨度设置为“2”表示整个网格。