2012-09-14 20 views
0

由于我是XAML和WPF的新手,我的问题可能很模糊。提前接受我的应用。可以在整个网格中移动且不属于网格行或列的XAML元素

为了简单起见,我正在研究一个项目,其中我有一些按钮和一个自定义指针来选择其中一个按钮。我可以使程序工作而不使用网格行和列来组织我的元素。但是,当我最大化窗口时,这是一团糟。所以,我使用了具有persentage宽度和高度的网格行和列,并解决了这个问题。但是现在,指针在其中一个网格中被阻塞,并且不会向外移动。我想以某种方式定义我的指针,它可以沿整个网格移动,而不会绑定到行或列。这是我的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> 

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

+0

Canvas是您的自定义指针吗? –

+0

是的,这是我的自定义指针 –

+0

为什么你使用Canvas作为自定义指针呢?难道你不能只使用'Cursor'属性(你可以在任何控件中找到它)?我真的认为重新定义鼠标指针通常是这种问题的一个坏主意 – Damascus

回答

4

尝试

<Canvas x:Name="mouseCanvas" Grid.ColumnSpan="2" Grid.RowSpan="2" Margin="-24,263,24,-263"/> 

这将使你的画布使用所有可用的行和列。因为你有两个,将Spans设置为“2”意味着整个网格。

+0

这正是我所需要的。 –

+0

击败我,+1 –