Csharp/C#教程:以编程方式复制WPF控件分享


以编程方式复制WPF控件

我有一个标签控件,当用户想要添加它时,我想复制一些已经存在的元素(不仅仅是引用它们)。 现在,到目前为止,我刚刚复制了我想要的变量。 但是我在自动resize代码中使用了一个裁剪器 – 也就是说,在调整窗口大小时复制的元素明显落后于原始元素。 另外,随着列表的增长,继续复制我需要复制的每个元素是不可行的。 我可以使用哪些方法来复制WPF控件吗? 现在,这只是一个文本框和一个标签项。

我可能会错过理解你的问题,但是你可以创建一个自定义的UserControl,每当你需要添加一个新的控件时,只需创建一个该控件的新实例并将其添加到你的场景中,这样你就可以使用DataContext 。帮助您从控件复制中使用的数据绑定:

 MyControl newControl = new MyControl { DataContext = controlToCopy.DataContext }; myGrid.Children.Add(newControl); 

或类似……

或者你需要它比那更有活力吗?

我无法确定你要做的是什么,但是如果你想要一个与现有控件实例相同的新实例,你可以使用XamlWriter和XamlReader来序列化/反序列化控件:

上述就是C#学习教程:以编程方式复制WPF控件分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 MyControl copy = XamlReader.Parse(XamlWriter.Save(controlInstance)) as MyControl; 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1023981.html

(0)
上一篇 2022年1月8日
下一篇 2022年1月8日

精彩推荐