Другие языки программирования и технологии
С# программно копировать элемент на 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);
Короче было бы больше инфы или проект, я бы помог, а так ничего не понятно. Каков вопрос, таков ответ. Пиши в личку и вышли проект, могу помочь в принципе.
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) выделить существующий элемент
2) на панели свойств элемента переключится на события ( желтая молния, покрайней мере в VS... при разработке ВПФ приложеия возможно иначе но суть таже)
3) выбрать нужное событие - долбануть дважды по нему ну и вобработчике писать свой код
ну а чтоб добавить существующие элементы то в этом созданном обработчике нужно
1) создать нужный новый жлемент ( или склонировать его ...ток зщ не будет ли конфликта )
2) вызвать что-то типа зис. контейнер. адд ( созданый_элемент )
кооч как-то так ..
1) выделить существующий элемент
2) на панели свойств элемента переключится на события ( желтая молния, покрайней мере в VS... при разработке ВПФ приложеия возможно иначе но суть таже)
3) выбрать нужное событие - долбануть дважды по нему ну и вобработчике писать свой код
ну а чтоб добавить существующие элементы то в этом созданном обработчике нужно
1) создать нужный новый жлемент ( или склонировать его ...ток зщ не будет ли конфликта )
2) вызвать что-то типа зис. контейнер. адд ( созданый_элемент )
кооч как-то так ..
Похожие вопросы
- Технологии WPF, WCF, WF где используются и каким боком он относятся к C# ??
- 1.Заполнить массив случайными числами. Вывести элементы массива на экран. Заменить все его минимальные элементы нулями.
- Вычислить сумму элементов массива, расположенных между первым и вторым отрицательными элементами - C++
- С# Зачем в WPF выполнять биндинг свойств контрола через свойство зависимостей, если (внутри)
- Объясните пожалуйста, что означает эта строка WRITE('ВВЕДИTE ЭЛЕМЕНТ МАССИВА '); READLN(MAS[1])?
- Помогите. Не могу понять как работает поиск максимального элемента массива!!
- В одномерном массиве, состоящем из n вещественных элементов, вычис- лить: 39 1) сумму положительных элементов массив
- Microsoft Visual C++ 6.0 В одномерном массиве, состоящем из n вещественных элементов, вычислить...
- Можно-ли использовать сортировку слиянием на массиве, состоящем из 10-ти элементов.
- Можно ли копировать информацию с сайта, если она защищена авторским правом?
Насчет обработчика - уже все есть. Вот например на форме уже есть 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.
Вот не могу понять что делаю не так..