При добавлении элемента на холст мой объект не может быть преобразован - PullRequest
0 голосов
/ 26 января 2019

Я создал сборку линий как объект, который я хочу добавить к своему холсту. Когда я пытаюсь вызвать метод, мне говорят, что он не может конвертироваться, в момент вызова с использованием children.add

Мой код выглядит так:

        TimberMember first = new TimberMember(38, 2000, "Horiz");
        first.DrawMember();
        SimpleCanvas.Children.Add(**first**);

«TimberMember» - мой объект, слово «first» получает красную волнистую линию, а аргумент «не может преобразовать из« Mapping.TimberMember »в« Windows.UI.Xaml.UIElement »

Любая помощь будет оценена, Спасибо, Мэтью

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

На самом деле мне удалось выяснить это в конце концов.Если я ссылаюсь на класс Canvas рядом с элементом wood, я могу добавить его как дочерний элемент, и тогда он будет правильно отображаться на моем холсте.

0 голосов
/ 27 января 2019

Canvas - это элемент управления XAML, представляющий другие элементы управления XAML. TimberMember не является элементом управления XAML. Элементы управления XAML являются объектами типа UIElement или они должны наследоваться от типа UIElement. TimberMember должен наследовать от UIElement или типа, производного от UIElement, например ContentControl, например.

public class TimberMemeber : ContentControl
{
// Your class definition
}

Это позволит вам добавить его в Canvas, но это не очень поможет, потому что ни одно из его свойств не преобразуется в контент пользовательского интерфейса. Вы не сказали нам, что такое TimberMember или что он должен делать, не говоря уже о предоставлении определения класса. Я могу почти на 100% гарантировать, что создание пользовательского элемента управления XAML и добавление его в Canvas не является правильным подходом для достижения того, что вы пытаетесь сделать, и при этом попытка создать собственный элемент управления XAML не является хорошей идеей для кого-то все еще изучают основы ООП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...