Мы хотели бы сделать небольшое приложение для рисования, и я не знаю, как сделать класс, полученный из формы или uielement, или что-то еще, содержащее несколько объектов как строка и текст или несколько строк, которые не связаны. Как мне это сделать?Как мы можем создать класс, который содержит несколько элементов и действует как uielement.
Для эллипса у меня есть это:
public class B_Null : Shape
{
EllipseGeometry eg;
public double Breedte { get; private set; }
public B_Null()
{
Stroke = Brushes.Red;
StrokeThickness = 1;
Fill = Brushes.Red;
eg = new EllipseGeometry(new Point(100, 100), 100, 100);
Breedte = 200;
}
protected override Geometry DefiningGeometry
{
get
{
return eg;
}
}
}
Вышеперечисленные работы, но он не может работать с несколькими UiElements? (или несколько линий, которые не подключены)
Цель состоит в том, чтобы иметь один класс, который содержит несколько элементов. В конце я хочу использовать этот код: Canvas.SetTop (MyUiElement, ...);
Почему бы не наследовать от Canvas? – tym32167
Наследование из элементов управления в WPF может быть настоящей болью. Гораздо лучше (т. Е. Более простой) вариант состоит в создании собственного UserControl, который содержит элемент Grid/Canvas верхнего уровня, а затем помещает в него различные элементы пользовательского интерфейса. – LordWilmore
Вам не нужен этот производный контроль. Просто используйте ItemControl, возможно, с Canvas как ItemsPanel. – Clemens