2

同じレベルに Canvas と StackPanel を含むグリッドがあります。キャンバスの上部に配置された StackPanel を意味します。キャンバスには、ドラッグ可能な複数の要素が含まれています。そして、StackPanel の Drop イベントを処理する必要があります。stackpanel の高さを設定しても、stackpanel に子要素が含まれていない場合、drop イベントが機能しません。StackPanel の Background プロパティを設定すると機能しますが、この場合、キャンバスの子要素 ​​(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>
4

0 に答える 0