在wpf中删除没有为stackpanel触发的事件

时间:2012-08-21 11:40:47

标签: wpf stackpanel

我有一个网格,其中包含同一级别的Canvas和StackPanel。我的意思是StackPanel放在画布的顶部。画布包含多个应该可拖动的元素。我必须处理StackPanel的Drop事件。如果stackpanel不包含任何子元素,则drop事件不起作用,即使我为stackpanel设置了高度。如果我为StackPanel设置Background属性,它将起作用,但在这种情况下,canvas子元素(在stackpanel下面)的mousemove事件不起作用。

这是XAML

<Grid>
        <jas:DragCanvas 
            x:Name="dragCanvas"
            Grid.Row="1" 
            AllowDragging="{Binding ElementName=btnAllowDragging, Path=IsChecked}"
            AllowDragOutOfView="{Binding ElementName=btnAllowDragOutOfView, Path=IsChecked}"
            >
            <Ellipse
                Canvas.Left="100" Canvas.Bottom="100"
                Width="65" Height="70">
                <Ellipse.Fill>
                    <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1">
                        <LinearGradientBrush.GradientStops>
                            <GradientStop Color="LightGray" Offset="0" />
                            <GradientStop Color="Black" Offset="0.75" />
                        </LinearGradientBrush.GradientStops>
                    </LinearGradientBrush>
                </Ellipse.Fill>
            </Ellipse>
        </jas:DragCanvas>
        <DockPanel LastChildFill="False">
            <Border DockPanel.Dock="Left" BorderBrush="Black" BorderThickness="2">
                <StackPanel x:Name="stackPanel" Drop="StackPanel_Drop" AllowDrop="True">
                    <Border Height="100" Width="100" Background="Red"></Border>
                </StackPanel>
            </Border>
        </DockPanel>
    </Grid>

0 个答案:

没有答案