我正在尝试创建类似下面的屏幕快照的拖动UI。如果我在列表视图中将AllowDrop设置为“ true”,它将自动打开空间,为拖放的项目留出空间。但是,我更热衷于提供一个指示“放在这里”而不是空格的UI。
当我在拖动的项目上移动时,如何创建如下所示的带有占位符的东西?
有什么想法吗?
答案 0 :(得分:1)
当我在拖动的项目上移动时,如何创建如下所示的带有占位符的东西?
根据您的要求,您可以使用round(round(16275.874999999998, 3), 2)
Footer实现此功能,并在ListView
和Collapsed
事件处理程序中处理Footer DragOver
属性。请参考以下代码。
Drop
Xaml
private void TargetListView_DragOver(object sender, DragEventArgs e)
{
// Our list only accepts text
e.AcceptedOperation = (e.DataView.Contains(StandardDataFormats.Text)) ? DataPackageOperation.Copy : DataPackageOperation.None;
VisualStateManager.GoToState(this, "Inside", true);
}
private async void TargetListView_Drop(object sender, DragEventArgs e)
{
if (e.DataView.Contains(StandardDataFormats.Text))
{
var def = e.GetDeferral();
var s = await e.DataView.GetTextAsync();
var items = s.Split('\n');
foreach (var item in items)
{
_selection.Add(item);
}
e.AcceptedOperation = DataPackageOperation.Copy;
VisualStateManager.GoToState(this, "Outside", true);
def.Complete();
}
}
Op在下面发布了uservoice,如果有人认为这有帮助,请投票。
Allowing custom air drop UI while dragging items of a ListView