[WPF] Контрол из другой сборки
От: Belowzero  
Дата: 18.12.10 12:19
Оценка:
Есть контрол, самописный, состоящий из заголовка и содержимого. Сам контрол реализован как наследник от Canvas. Класс контрола описан в сборке А. В качестве заголовка и содержимого могут использоваться любые UIElement'ы. Так вот, независимо от способа размещения дочерних контролов (пробовал прямое добавление в Children, VisualCollection и перекрытие ArrangeOverride, создавал обертки из других контролов) возникает следующая проблема. Если контролы, которые должны пойти в заголовок и содержимое созданы в сборке А — все хорошо, но если создать дочерний контрол в другой сборке, при размещении система выдает такую ошибку "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его".
Помогите, кто понял, а то что-то иссякли идеи, как это вылечить
wpf
Re: [WPF] Контрол из другой сборки
От: Vladek Россия Github
Дата: 18.12.10 18:14
Оценка:
Здравствуйте, Belowzero, Вы писали:

B>Есть контрол, самописный, состоящий из заголовка и содержимого. Сам контрол реализован как наследник от Canvas. Класс контрола описан в сборке А. В качестве заголовка и содержимого могут использоваться любые UIElement'ы. Так вот, независимо от способа размещения дочерних контролов (пробовал прямое добавление в Children, VisualCollection и перекрытие ArrangeOverride, создавал обертки из других контролов) возникает следующая проблема. Если контролы, которые должны пойти в заголовок и содержимое созданы в сборке А — все хорошо, но если создать дочерний контрол в другой сборке, при размещении система выдает такую ошибку "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его".

B>Помогите, кто понял, а то что-то иссякли идеи, как это вылечить

Используйте HeaderedContentControl и не мучайте Canvas.
Re[2]: [WPF] Контрол из другой сборки
От: Аноним  
Дата: 18.12.10 19:26
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Здравствуйте, Belowzero, Вы писали:


B>>Есть контрол, самописный, состоящий из заголовка и содержимого. Сам контрол реализован как наследник от Canvas. Класс контрола описан в сборке А. В качестве заголовка и содержимого могут использоваться любые UIElement'ы. Так вот, независимо от способа размещения дочерних контролов (пробовал прямое добавление в Children, VisualCollection и перекрытие ArrangeOverride, создавал обертки из других контролов) возникает следующая проблема. Если контролы, которые должны пойти в заголовок и содержимое созданы в сборке А — все хорошо, но если создать дочерний контрол в другой сборке, при размещении система выдает такую ошибку "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его".

B>>Помогите, кто понял, а то что-то иссякли идеи, как это вылечить

V>Используйте HeaderedContentControl и не мучайте Canvas.


Спасибо, помогло. В данном случае задача решена. Но, в принципе, если мне нужен составной контрол произвольной конфигурации, как выйти из ситуации?
Re[3]: [WPF] Контрол из другой сборки
От: Vladek Россия Github
Дата: 19.12.10 09:45
Оценка: +1
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Vladek, Вы писали:


V>>Здравствуйте, Belowzero, Вы писали:


B>>>Есть контрол, самописный, состоящий из заголовка и содержимого. Сам контрол реализован как наследник от Canvas. Класс контрола описан в сборке А. В качестве заголовка и содержимого могут использоваться любые UIElement'ы. Так вот, независимо от способа размещения дочерних контролов (пробовал прямое добавление в Children, VisualCollection и перекрытие ArrangeOverride, создавал обертки из других контролов) возникает следующая проблема. Если контролы, которые должны пойти в заголовок и содержимое созданы в сборке А — все хорошо, но если создать дочерний контрол в другой сборке, при размещении система выдает такую ошибку "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его".

B>>>Помогите, кто понял, а то что-то иссякли идеи, как это вылечить

V>>Используйте HeaderedContentControl и не мучайте Canvas.


А>Спасибо, помогло. В данном случае задача решена. Но, в принципе, если мне нужен составной контрол произвольной конфигурации, как выйти из ситуации?


Вкладывайте контролы друг в друга, никто это не запрещает делать! Ситуации в WPF, когда нужно писать новый контрол, можно пересчитать по пальцам.
Re[4]: [WPF] Контрол из другой сборки
От: Belowzero  
Дата: 19.12.10 18:42
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Здравствуйте, Аноним, Вы писали:


А>>Здравствуйте, Vladek, Вы писали:


V>>>Здравствуйте, Belowzero, Вы писали:


B>>>>Есть контрол, самописный, состоящий из заголовка и содержимого. Сам контрол реализован как наследник от Canvas. Класс контрола описан в сборке А. В качестве заголовка и содержимого могут использоваться любые UIElement'ы. Так вот, независимо от способа размещения дочерних контролов (пробовал прямое добавление в Children, VisualCollection и перекрытие ArrangeOverride, создавал обертки из других контролов) возникает следующая проблема. Если контролы, которые должны пойти в заголовок и содержимое созданы в сборке А — все хорошо, но если создать дочерний контрол в другой сборке, при размещении система выдает такую ошибку "Указанный элемент уже является логическим дочерним для другого элемента. Сначала отсоедините его".

B>>>>Помогите, кто понял, а то что-то иссякли идеи, как это вылечить

V>>>Используйте HeaderedContentControl и не мучайте Canvas.


А>>Спасибо, помогло. В данном случае задача решена. Но, в принципе, если мне нужен составной контрол произвольной конфигурации, как выйти из ситуации?


V>Вкладывайте контролы друг в друга, никто это не запрещает делать! Ситуации в WPF, когда нужно писать новый контрол, можно пересчитать по пальцам.


Как раз такая ситуация. Пишу библиотеку визуальных контролов для определенной области. Контрол должен обладать неким предметным функционалом. Никак не выйти из положения? Но все стандартные контролы WPF это умеют делать.
Re[5]: [WPF] Контрол из другой сборки
От: notacat  
Дата: 20.12.10 11:57
Оценка:
B>Как раз такая ситуация. Пишу библиотеку визуальных контролов для определенной области. Контрол должен обладать неким предметным функционалом. Никак не выйти из положения? Но все стандартные контролы WPF это умеют делать.
скорей всего у вас проблема вовсе не в сборках, только гадать сложно. Делайте простой пример и выкладывайте с исходным кодом, тогда может и выход найдется.
Re[5]: [WPF] Контрол из другой сборки
От: Vladek Россия Github
Дата: 20.12.10 16:20
Оценка:
Здравствуйте, Belowzero, Вы писали:

B>Как раз такая ситуация. Пишу библиотеку визуальных контролов для определенной области. Контрол должен обладать неким предметным функционалом. Никак не выйти из положения? Но все стандартные контролы WPF это умеют делать.


Пример такого контрола?
Re[6]: [WPF] Контрол из другой сборки
От: Belowzero  
Дата: 20.12.10 18:50
Оценка:
Здравствуйте, Vladek, Вы писали:

V>Здравствуйте, Belowzero, Вы писали:


B>>Как раз такая ситуация. Пишу библиотеку визуальных контролов для определенной области. Контрол должен обладать неким предметным функционалом. Никак не выйти из положения? Но все стандартные контролы WPF это умеют делать.


V>Пример такого контрола?


Такого, который умеет принимать контролы из других сборок? Button, например
Re[7]: [WPF] Контрол из другой сборки
От: Vladek Россия Github
Дата: 20.12.10 19:46
Оценка:
Здравствуйте, Belowzero, Вы писали:

B>Здравствуйте, Vladek, Вы писали:


V>>Здравствуйте, Belowzero, Вы писали:


B>>>Как раз такая ситуация. Пишу библиотеку визуальных контролов для определенной области. Контрол должен обладать неким предметным функционалом. Никак не выйти из положения? Но все стандартные контролы WPF это умеют делать.


V>>Пример такого контрола?


B>Такого, который умеет принимать контролы из других сборок? Button, например


Дайте пример контрола, который вам понадобилось написать! А вообще, читайте книжку и будет вам счастье.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.