Другие языки программирования и технологии

С# программно копировать элемент на WPF-форме.

А именно суть. У меня нарисована например кнопка. после чего-то там нужно чтобы их было нарисовано н штук. Как кодом завести на форме копию уже существующего элемента?
Rectangle rectangle2 = rectangle1;
this.AddChild(rectangle2);

Это ты создаёшь вторую ссылку на первый прямоугольник. То есть ты не новый прямоугольник создаёшь, а ссылаешься на существующий и пытаешься его второй раз добавить туда, где он уже и так есть.

Для целей копирования картинки из элементов управления вроде кисть VisualBrush.
http://msdn.microsoft.com/ru-ru/library/system.windows.media.visualbrush.aspx

И ещё, ты добавляешь в окно дочерний элемент. Но у окна может быть только 1 дочерний элемент. Надо добавлять в Grid, если он у окна является дочерним. Назови Grid: "gridMain"
Так было бы правильно просто добавлять. Но к твоей задаче не имеет отношения. Как и твой код.
this.gridMain.Children.Add(rectangle2);

Короче было бы больше инфы или проект, я бы помог, а так ничего не понятно. Каков вопрос, таков ответ. Пиши в личку и вышли проект, могу помочь в принципе.
Иван Быстрик
Иван Быстрик
1 176
Лучший ответ
если в общих чертах то
1) выделить существующий элемент
2) на панели свойств элемента переключится на события ( желтая молния, покрайней мере в VS... при разработке ВПФ приложеия возможно иначе но суть таже)
3) выбрать нужное событие - долбануть дважды по нему ну и вобработчике писать свой код

ну а чтоб добавить существующие элементы то в этом созданном обработчике нужно
1) создать нужный новый жлемент ( или склонировать его ...ток зщ не будет ли конфликта )
2) вызвать что-то типа зис. контейнер. адд ( созданый_элемент )

кооч как-то так ..
Хачо Авджян от wpf врядли что-то меняеться.
Насчет обработчика - уже все есть. Вот например на форме уже есть Rectangle rectangle1. В коде соответственно пишу:
private void btnStart_Click(object sender, RoutedEventArgs e)
{
Rectangle rectangle2 = rectangle1;
this.AddChild(rectangle2);
}
при нажатии на кнопку получаю вылет с ошибкой:
Content of a ContentControl must be a single element.
Вот не могу понять что делаю не так..

Похожие вопросы