我将ItemsControl与Canvas绑定为ItemsPanelTemplate到ObservableCollection.
我想使用在WPF中拖动图像中发布的DraggableExtender使项目可 拖动 (我不想使用转换 - 我需要使用Canvas Left和Top属性)
它被定义为:
<ItemsControl ItemsSource="{Binding Path=Nodes}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas IsItemsHost="True" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Views:NodeView DataContext="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Utilities:DraggableExtender.CanDrag" Value="True" />
<Setter Property="Canvas.Left" Value="{Binding Path=X}" />
<Setter Property="Canvas.Top" Value="{Binding Path=Y}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
DraggableExtender需要元素的父元素为Canvas,但我元素的父元素(contentpresenter)为null,因此拖动不起作用.
所以显而易见的问题是 - 我做错了什么?
我试图获得一些关于如何在新版本的应用程序中实现像Facebook这样的按钮的信息.实际上我不确定这个按钮是来自Facebook还是来自Facebook messenge应用程序,但它是最简单的方法来举例说明我想要实现的目标.
当他们收到新的消息通知时,他们会在任何地方添加一个可拖动的浮动Button,任何人都知道他们是如何实现这一目标的?
提前致谢.
编辑:
Toucher:其他使用我希望实现的应用程序.在下面可以找到Google Play的链接
我是java(fx)的初学者.
如何在JavaFX中获得x和y中的鼠标位置?我尝试使用AWT MouseInfo(也是导入它),但它不起作用.我也在Ensembles中看到了它的代码(在"高级阶段"拖动球窗,这就是我需要做的,拖动我未修饰的JavaFX阶段),但它也不起作用.我正在使用带控制器的FXML,我猜这是主要问题.我应该切换回单文件简单的JavaFX吗?我知道FXML更适合布局用户界面,但我不能让很多这样的代码工作.或者我的控制器是否需要其他类型的代码?请尽可能提供适当的代码和评论.
如果您需要我的一些代码进行检查,请随时询问.
我有一个文件夹列表类型的情况,我可以使用jquery draggable/droppable将项目从一个文件夹拖到另一个文件夹.文件夹项目是可拖动的,文件夹是可放置的.它们位于一个小到足以显示垂直滚动条的div中.
我在可拖动项上设置了"scroll:true",这样它们就可以使div滚动.当我在可拖动项目上使用'helper:'clone"'时,滚动不再有效.
我究竟做错了什么?
这是一些非常简化的代码:
<div style="background-color: red; width: 500px; height: 100px; overflow: auto;">
<table id="nfTable" class="treeTable">
<tr><td><span class="parent initialized expanded">drop here</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="droppable">drop here</span></td></tr>
<tr><td><span class="droppable">drop here</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="draggable">drag me</span></td></tr>
<tr><td><span class="droppable">drop here</span></td></tr>
<tr><td><span class="droppable">drop here</span></td></tr>
<tr><td><span class="droppable">drop here</span></td></tr>
<tr><td><span class="droppable">drop here</span></td></tr>
</table>
</div>
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script>
// draggable and droppable in here:
<script type="text/javascript" src="/js/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript">
$(function() {
$(".draggable").draggable({ …Run Code Online (Sandbox Code Playgroud) 我有一组可放置的li元素,它们接受一个可拖动的图标.项目列表位于可滚动的div元素中.我在这里放了一个简单的例子:http://www.nerdydork.com/demos/dragscroll/
我想知道在拖动可拖动元素时是否有一种方法可以自动滚动元素列表.例如,假设您处于中间位置,例如http://www.nerdydork.com/demos/dragscroll/#j.当你接近div的顶部时,它将开始向上滚动,当你接近div的底部时,它将开始向下滚动.
任何人都知道如何用jQuery实现这一目标?
UPDATE
我越走越近了.我在容器div的上部和下部创建了固定div.将鼠标悬停在其上时,使用http://plugins.jquery.com/project/aautoscroll启动自动滚动
现在的问题是,当我将鼠标悬停在较低区域时,它会使我在字母上的拖拽变得混乱.尽管如此,它似乎只是较低的自动滚动区域的问题.
要查看我正在谈论的错误,请观看以下简短视频:http://screencast.com/t/JBFWzhPzGfz
请注意,当它自动向下滚动时,悬停不会超过正确的字母.在视频结束时,你可以看到,如果你将鼠标悬停在列表的左边缘,那么它会以某种方式重置并且似乎再次起作用.
我有一个Google Maps Android v2 API标记,我已经设置了0.5/1.0的锚点.只需放置标记工作正常.问题是当我拖动标记时,在第一次移动时它会向上跳跃并向左跳跃大约图像的高度(1.0)和宽度的一半(0.5).似乎Google的拖动代码不考虑自定义定义的锚点.
mMap.addMarker(new MarkerOptions().draggable(true)
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.blue_flag))
.anchor(0.5f, 1.0f)
.position(endPosition));
Run Code Online (Sandbox Code Playgroud)
谁见过这个?看起来像拖动算法中的错误.
使用'draggable'html5属性时,如何保留拖动的A元素的外观.在某些浏览器(Safari和Chrome)上拖动锚点时,拖动的帮助器将被替换为拖动元素的浏览器本机实现,如屏幕截图所示:
拖动DIV时

拖动A时

HTML
<div class="draggable">Draggable DIV</div>
<a href="" class="draggable">Draggable A</a>
Run Code Online (Sandbox Code Playgroud)
CSS
$('.draggable').attr('draggable', true);
Run Code Online (Sandbox Code Playgroud)
这是我组装的快速JSBin来演示这个问题http://jsbin.com/pihayeceza/1/edit
谢谢
我正在使用jQuery UI的可拖动功能使用set grid选项.我的网格设置为使用[x: 130, y: 110]约束,网格的容器是一个溢出其父级的高度,允许我滚动.当我有一个可拖动的元素,然后我开始拖动它,并在容器中向下滚动(同时仍然挂在可拖动的元素上),元素不再粘在网格上.
我做了一个显示错误的准系统示例:您可以在这里看到JSFiddle中的错误 - 尝试开始拖动,并在容器中滚动.如果这还不够解释; 在这里看到错误的GIF (它应该留在网格的左上角).
我已经尝试将网格更改为a [x: 100, y: 100],这使它在Chrome和Opera中工作,因为它们在每个滚动上滚动了100个像素,而不是Firefox和IE,因为它们使用软滚动.我也试过"黑客"我的方式,并通过jQuery UI完成拖动时将元素移动到最近的网格的中心droppable,但这似乎不是一个可用的解决方案.
有没有办法确保即使您在拖动时向下滚动,可拖动元素仍会继续粘在网格上?
I have been looking for a way to drag and drop rows on a Bootstrap Vue table. I was able to find a working version here: Codepen
I have tried to implement this code to my own table:
Template:
<b-table v-sortable="sortableOptions" @click="(row) => $toast.open(`Clicked ${row.item.name}`)" :per-page="perPage" :current-page="currentPage" striped hover :items="blis" :fields="fields" :filter="filter" :sort-by.sync="sortBy" :sort-desc.sync="sortDesc" :sort-direction="sortDirection" @filtered="onFiltered">
<template slot="move" slot-scope="row">
<i class="fa fa-arrows-alt"></i>
</template>
<template slot="actions" slot-scope="row">
<b-btn :href="'/bli/'+row.item.id" variant="light" size="sm" @click.stop="details(cell.item,cell.index,$event.target)"><i class="fa fa-pencil"></i></b-btn>
<b-btn variant="light" size="sm" @click.stop="details(cell.item,cell.index,$event.target)"><i class="fa fa-trash"></i></b-btn>
</template> …Run Code Online (Sandbox Code Playgroud) 如何通过将视图拖动到另一个视图的上方或下方来重新排列视图在 ZStack 中的位置(例如,在这种情况下,我如何通过将卡拖动到另一张卡的上方或下方来重新排列卡组中卡的顺序,以移动拖动的卡)牌组中所述牌的后面或前面)。
我希望卡片在堆栈中向上或向下拖动时更改索引,并在拖动时流畅地出现在堆栈中的每张卡片后面 - 并在鼠标向上时停留在那里。
总结:换句话说,当我向上拖动时,拖动的卡片和它上面的卡片应该切换,拖动的卡片和它下面的卡片应该在我向下拖动时切换。
我认为这与更改 ZStack 顺序struct CardView: View和DragGesture().onChanged通过评估卡被拖动的程度(可能通过查看 self.offset 值)从内部更新位置有关,但我无法弄清楚该怎么做这是一种可靠的方式。
这是我现在所拥有的:

代码:
import SwiftUI
let cardSpace:CGFloat = 10
struct ContentView: View {
@State var cardColors: [Color] = [.orange, .green, .yellow, .purple, .red, .orange, .green, .yellow, .purple]
var body: some View {
HStack {
VStack {
CardView(colors: self.$cardColors)
}
}
.frame(maxWidth: .infinity, maxHeight: .infinity)
.position(x: 370, y: 300)
}
}
struct CardView: View {
@State var offset = CGSize.zero
@State var dragging:Bool …Run Code Online (Sandbox Code Playgroud)