我已经创建了一个线条集合,作为一个对象,我想将其添加到画布中。当我尝试调用该方法时,系统告诉我它无法转换,在使用children.add
进行调用时我的代码如下:
TimberMember first = new TimberMember(38, 2000, "Horiz");
first.DrawMember();
SimpleCanvas.Children.Add(**first**);
'TimberMember'是我的对象,单词'first'变成红色的波浪线,参数说'无法从'Mapping.TimberMember'转换为'Windows.UI.Xaml.UIElement'
任何帮助将不胜感激, 谢谢, 马修
答案 0 :(得分:0)
画布是一个XAML控件,它提供了其他XAML控件。 TimberMember不是XAML控件。 XAML控件是UIElement类型的对象,或者它们必须从UIElement类型继承。 TimberMember将需要继承自UIElement或继承自UIElement的类型,例如ContentControl。
public class TimberMemeber : ContentControl
{
// Your class definition
}
这将允许您将其添加到“画布”中,但对您没有多大帮助,因为它的任何属性都不会转换为UI内容。您没有告诉我们TimberMember是什么,或者它应该做什么,更不用说提供类定义了。我几乎可以100%保证使其成为自定义XAML控件并将其添加到Canvas中不是实现您要执行的操作的正确方法,也不是尝试创建自定义XAML控件对某人来说是个好主意仍在学习OOP基础知识。
答案 1 :(得分:0)
实际上,我最终设法弄清楚了。如果我在木材元素旁边引用Canvas类,则可以将其作为子元素添加,然后在画布中正确绘制它。