拖放磁贴 - WPF
本文关键字:WPF 拖放 | 更新日期: 2023-09-27 18:31:08
我想将磁贴从一个导航栏拖动到仪表板。(使用 Visual Studio 2015、C# 和 WPF)现在我坚持一个问题;哪种数据格式具有磁贴的内容?只有图像?但是我如何使用/缓存它呢?
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
,还必须有其他方法......请帮忙!
在拖放中,您可以使用e.Data.GetFormats()
检查可用的格式 - 我发现获取对象然后检查类型更有用。
object data = e.Data.GetData(e.Data.GetFormats[0]);
var someTypeData = data as SomeType;
if(someTypeData != null) {...}