拖拽Drop Tiles - WPF

时间:2016-01-20 17:47:20

标签: c# wpf tiles

我想将Tile从一个NavigationBar拖动到Dashboard。 (使用Visual Studio 2015,C#和WPF)现在我坚持一个问题;哪个DataFormat具有平铺内容?只有图像?但是如何使用/缓存呢?

private void tileFrom_MouseDown(object sender, MouseButtonEventArgs e)
{
    Tile tileFrom = e.Source as Tile;

    if (tileFrom!= null && e.LeftButton == MouseButtonState.Pressed)
    {   
        DragDrop.DoDragDrop(tileFrom,
                             tileFrom.Content,
                             DragDropEffects.All);

    }
}

private void tileTo_Drop(object sender, DragEventArgs e)
{
    Tile tileTo = e.Source as Tile;
    string draggedText = (string)e.Data.GetData(DataFormats.StringFormat);
    tileTo.Content = draggedText;
}

而不是StringFormat必须有其他方式......请帮忙!

1 个答案:

答案 0 :(得分:1)

在Drag and Drop中,您可以使用e.Data.GetFormats()检查可用的格式 - 我发现获取对象然后检查类型更有用。

object data = e.Data.GetData(e.Data.GetFormats[0]);
var someTypeData = data as SomeType;
if(someTypeData != null) {...}
相关问题