我有点困在这里。我正在使用拖索图书馆,该图书馆通过xamlwriter.save()序列化拖动的UIELEMENTS。

现在,我正在尝试将延长网格的类的某些实例拖动。在构造函数中,我将一些元素推入视觉树。当对象被启用并再次添加元素时(一次又一次,取决于我的拖曳频率)。可悲的是孩子们。计数告诉我,如果我从构造函数内获取价值,就没有孩子元素。如果我从外部(由MyGrid.Children.Count)检索它,它给了我更高的(不需要的)数量。

我应该使用其他功能来初始化视觉效果吗?还是其他防止这些重复的方法?

谢谢,欢呼

没有正确的解决方案

其他提示

花了一段时间,但我似乎找到了解决方案。
现在,我能够创建一个已经包含所有子类所需的视觉元素的基类。而且它们是通过XAMLWRITER/READER可简化的,而无需重复。哇。

1)扩展usercontrol(不要添加 - > usercontrol,但添加 - >类并手动继承)
2)放置标准初始化();进入构造函数
3)实现initializecontrol(),并将布局,孩子添加以及其中的任何内容
4)XamlWrite/XamlRead/继承像疯狂

希望这对某人有帮助,我还没有监督不可预见的。

- 编辑:当然。会有重复的人,但我们看不到它们。在XamlReader通过之后,我的InitializeComponent()创建了UIELEMENTS,之后得到了XAML优先。代码中的任何引用都考虑未显示的代码创建的控件:/

叹。

围绕这一点的完美方法是将开关放入初始化的事件处理程序中,这样的方法是这样的:if(HasContent)
Initialize();
else
Reinitialize();
Multiinitialize();

在哪里initialize()将uielements添加到视觉树中,重新引导()只是找到正确的引用(通过 control = FindName("controlName"))和MultiNitialze()重新创建了事件处理程序,并且在Xamlreader的过程中丢失了其他东西。

好吧,现在您可以在XAML中实例化自定义继承的USERCORTROL,但是没有简单的方法来设置属性。这是因为设置属性发生在初始化事件之前发生,并且正在等待NullPoInterExceptions。我猜您可以使用绑定来解决这个问题。

但是必须有一种更简单的方法。请告诉我!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top