0

プロパティが trueのスタック パネルがありAllowDrop、このスタック パネルにユーザー コントロール (Player.xaml) をドラッグする必要があります。
スタック パネルのイベント内で、Dropドラッグされているアイテムが次のuser control (Player.xaml)タイプであるかどうかを確認する必要があります

private void StackPanel_Drop(object sender, DragEventArgs e)
    {
    if (e.Data.GetDataPresent("ProjectName.FolderName.Player"))
    {
            spHolder.Children.Clear();
            spHolder.Children.Add((UserControls.AnswerControl)e.Data.GetData("ProjectName.FolderName.Player"));
    }
}

コントロールに単純なテキストをドロップする場合は、次のようにします。

private void StackPanel_Drop(object sender, DragEventArgs e)
    {
    if (e.Data.GetDataPresent(DataFormats.StringFormat))
    {
            spHolder.Children.Clear();
            spHolder.Children.Add((UserControls.AnswerControl)e.Data.GetData(DataFormats.StringFormat));
    }
}

しかし、カスタム ユーザー コントロールをスタック パネルにドロップするときはどうすればよいでしょうか。このことのために特定されるフォーマットは何ですか?

4

1 に答える 1

1

使用する

Dictionary<Player, string> dropShapes = e.Data.GetData(typeof(Dictionary<Player, string>))
                as Dictionary<Player, string>;

または

Player dropShape = e.Data.GetData(typeof(Player))
于 2012-06-21T07:20:21.207 に答える