Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在WPF中实现拖放仪表板项的最佳方法?_C#_Wpf_Drag And Drop_Widget_Dashboard - Fatal编程技术网

C# 在WPF中实现拖放仪表板项的最佳方法?

C# 在WPF中实现拖放仪表板项的最佳方法?,c#,wpf,drag-and-drop,widget,dashboard,C#,Wpf,Drag And Drop,Widget,Dashboard,我正在尝试制作一个仪表板应用程序,我正在尝试为它创建布局规则等等,我不确定最好的方法。最初我有一个自定义网格控件,所以我可以很容易地将自定义控件添加到其中。从某种意义上说,如果你一开始把东西放在那里,那就很好了。但是我想在它里面实现一个拖放功能,它有点不喜欢这样 最大的麻烦就是根据鼠标在网格中的行和列来检测鼠标的位置。所以我想不用网格,我可以使用画布,手动测量网格插槽。但我不确定是否有更好的方法。我想模拟一下在android上,你可以在主屏幕上使用小部件,你可以在屏幕上拖放它们。我希望本质上就是

我正在尝试制作一个仪表板应用程序,我正在尝试为它创建布局规则等等,我不确定最好的方法。最初我有一个自定义网格控件,所以我可以很容易地将自定义控件添加到其中。从某种意义上说,如果你一开始把东西放在那里,那就很好了。但是我想在它里面实现一个拖放功能,它有点不喜欢这样

最大的麻烦就是根据鼠标在网格中的行和列来检测鼠标的位置。所以我想不用网格,我可以使用画布,手动测量网格插槽。但我不确定是否有更好的方法。我想模拟一下在android上,你可以在主屏幕上使用小部件,你可以在屏幕上拖放它们。我希望本质上就是这样

拖动时,我希望移动一个绿色矩形,而不是该对象,如果它与其他对象重叠,则将其变为红色。就像我说的,基本上就像android小部件的工作原理一样。我喜欢一些代码示例,因为我是WPF新手。如果您还有任何更一般性的建议,我们将不胜感激

谢谢大家!

在上签出及其更新版本

仪表板演示是您需要查看的


编译代码可能会有困难,但只需删除silverlight项目,就可以运行WPF演示。

我知道这是一个老问题。为偶然发现这个问题并寻找WPF仪表板的其他人创建此答案。我在野外找不到任何其他具有动态小部件的仪表板,因此我创建了自己的仪表板,并为需要更好解决方案的其他人共享。这听起来像是Gentatsu在最初的问题中所寻找的

你可以在这里找到它: