sl 如何动态拖动控件

安静9527 2015-03-24 04:05:06
添加一个只有两个按钮的页面, 页面运行时 用户可以点击按钮 拖动到某一处 然后在此处加载一个TextBlock或TextBox 下次用户打开该页面时 除了两个按钮外 上一次用户拖动的控件也要显示出来... 求大神
...全文
122 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
安静9527 2015-03-25
  • 打赏
  • 举报
回复
引用 2 楼 wjq 的回复:
给你的代码是动态给控件设置模板内容的,和拖动控件有什么关系…… 首先,背景容器建议用Canvas, 按钮的mousemove事件检查鼠标左键是否按下,是的话就跟随鼠标坐标改变按钮坐标。 按钮的mouseup事件中,记录下当前按钮位置,new一个textbox,然后add到当前Canvas画布的Children集合里。
添加控件和移动都做出来了 现在是把控件怎么保存下来下次打开的时候能够加载出来
wjq 2015-03-25
  • 打赏
  • 举报
回复
要存服务器,那么用WCF和服务器通信
安静9527 2015-03-25
  • 打赏
  • 举报
回复
引用 4 楼 wjq 的回复:
[quote=引用 3 楼 hj290879403aaa 的回复:] [quote=引用 2 楼 wjq 的回复:] 给你的代码是动态给控件设置模板内容的,和拖动控件有什么关系…… 首先,背景容器建议用Canvas, 按钮的mousemove事件检查鼠标左键是否按下,是的话就跟随鼠标坐标改变按钮坐标。 按钮的mouseup事件中,记录下当前按钮位置,new一个textbox,然后add到当前Canvas画布的Children集合里。
添加控件和移动都做出来了 现在是把控件怎么保存下来下次打开的时候能够加载出来 [/quote]unload事件里把canvas里所有children集合里的控件的类型和位置都记下来。存在数据库或者xml或者这任何你喜欢的地方。loaded事件里读取你存的数据,一个个new出来,然后把之前存的位置赋值赋上。[/quote] 现在有一个字符串 里面放的是所以的控件 怎么放到服务器端呢 路径是 http://9500/这种的
wjq 2015-03-25
  • 打赏
  • 举报
回复
引用 3 楼 hj290879403aaa 的回复:
[quote=引用 2 楼 wjq 的回复:] 给你的代码是动态给控件设置模板内容的,和拖动控件有什么关系…… 首先,背景容器建议用Canvas, 按钮的mousemove事件检查鼠标左键是否按下,是的话就跟随鼠标坐标改变按钮坐标。 按钮的mouseup事件中,记录下当前按钮位置,new一个textbox,然后add到当前Canvas画布的Children集合里。
添加控件和移动都做出来了 现在是把控件怎么保存下来下次打开的时候能够加载出来 [/quote]unload事件里把canvas里所有children集合里的控件的类型和位置都记下来。存在数据库或者xml或者这任何你喜欢的地方。loaded事件里读取你存的数据,一个个new出来,然后把之前存的位置赋值赋上。
wjq 2015-03-25
  • 打赏
  • 举报
回复
给你的代码是动态给控件设置模板内容的,和拖动控件有什么关系…… 首先,背景容器建议用Canvas, 按钮的mousemove事件检查鼠标左键是否按下,是的话就跟随鼠标坐标改变按钮坐标。 按钮的mouseup事件中,记录下当前按钮位置,new一个textbox,然后add到当前Canvas画布的Children集合里。
安静9527 2015-03-24
  • 打赏
  • 举报
回复
经理只给了一个参考代码
StringBuilder xaml = new StringBuilder();
                xaml.Append("<DataTemplate ");
                  xaml.Append("xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\" > ") ;
                  xaml.Append("<TextBox  TextAlignment=\"Center\" VerticalAlignment=\"Center\"  Tag=\"" + column.Binding.Path.Path + "\"  Text=\"{Binding " + column.Binding.Path.Path + " ,Mode=OneWay}\" />  ");
                xaml.Append("</DataTemplate>");
                //创建 
                DataTemplate dTemplate = (DataTemplate)XamlReader.Load(xaml.ToString()); 

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧