Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037

Можно ли использовать C# юзерконтрол в WPF форме?

02.04.2019, 09:22. Показов 1606. Ответов 17

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Собственно вопрос.
Имеется приложение на WPF.
Имеется кастомный юзерконтрол на C#.
Можно ли его поместить на WPF форму?
Если да, то как?
И хорошо ли это будет?
Можно постараться переписать юзерконтрол на WPF, но хочется для начала попробовать простые пути.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.04.2019, 09:22
Ответы с готовыми решениями:

Можно ли использовать CSS в wpf и как?
Можно ли использовать CSS в wpf и как?

Можно ли использовать совместно WPF, NHibernate[database-first], PostgreSQL
Здравствуйте, Мне необходимо сделать курсовую по программированию. Думаю использовать вот эти технологии WPF + NHibernate +...

Можно ли использовать формы и компоненты WPF в WF
У меня такая проблема, я хотел бы использовать WPF формы в моей базовой Windows Forms возможно ли это? Как вы можете видеть тут на картинке...

17
Эксперт .NET
 Аватар для novikov.ea
1857 / 1363 / 429
Регистрация: 10.06.2011
Сообщений: 2,136
02.04.2019, 12:13
Лучший ответ Сообщение было отмечено Khludenkov как решение

Решение

Цитата Сообщение от Khludenkov Посмотреть сообщение
Можно ли его поместить на WPF форму?
Можно
Цитата Сообщение от Khludenkov Посмотреть сообщение
как?
Нужно прописать в самом верху ссылку на пространство имён
Code
1
xmlns:controls="clr-namespace:YourCustomNamespace.Controls;assembly=YourAssemblyName"
Затем можно использовать контрол
XML
1
<controls:CustomControlClassName ..... />
Цитата Сообщение от Khludenkov Посмотреть сообщение
И хорошо ли это будет?
Ничего плохого в этом нет

Если нужен наглядный пример, посмотрите какой-нибудь видеоурок
1
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
02.04.2019, 12:24  [ТС]
novikov.ea, большое спасибо!
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
02.04.2019, 13:01
Цитата Сообщение от Khludenkov Посмотреть сообщение
И хорошо ли это будет?
Это будет обычно.
У меня есть проекты-аддоны, которые работают как WPF контрол запихнутый в WF. Это всё я виноват)) захотел использовать именно WPF, а технология микросовтов говорит о том что у окно и контролов WPF НЕТ дескрипторов. Поэтому, голый контрол WPF встраивается, но низя ничо вписать в текстбоксы))) потому что апишные сообщения WMSETTEXT не проходят.
1
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
02.04.2019, 13:43  [ТС]
Цитата Сообщение от skilllab Посмотреть сообщение
а технология микросовтов говорит о том что у окно и контролов WPF НЕТ дескрипторов
Уже столкнулся с этим...
0
168 / 107 / 30
Регистрация: 19.01.2013
Сообщений: 852
02.04.2019, 14:27
Я использую на свою голову шаблон Modern UI for WPFю Там все юзер контролы работают нормально!
1
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
04.04.2019, 11:00  [ТС]
Пытаюсь-таки добавить юсер-контрол.
Компилится нормально, а в разметке вот что говорит (на картинке):

Хотя в C# на форму он кидался нормально...
Миниатюры
Можно ли использовать C# юзерконтрол в WPF форме?  
0
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
04.04.2019, 11:38  [ТС]
Может его дополнительно наследовать от чего-либо надо ?

Добавлено через 36 минут
Наследование от юзер контрола есть...
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
04.04.2019, 12:02
Khludenkov, вы же не думали что все будет так просто?
ваш юзер контрол из форм не является UIElement'ом.
Надо юзать System.Windows.Forms.Integration.Windows FormsHost, ну и танцевать с бубном.
Можете начать отсюдова
https://docs.microsoft.com/ru-... rol-in-wpf

Добавлено через 5 минут
Лично от себя бы рекомендовал не заниматься подобным а переписать весь контрол в WPF
1
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
04.04.2019, 13:43  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
Khludenkov, вы же не думали что все будет так просто?
Честно говоря, думал...

Цитата Сообщение от Рядовой Посмотреть сообщение
Лично от себя бы рекомендовал не заниматься подобным а переписать весь контрол в WPF
Что, всё так сложно?

Попробую переписать...
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
04.04.2019, 14:01
Цитата Сообщение от Khludenkov Посмотреть сообщение
Что, всё так сложно?
Если вам нужен именно контрол, а не какое-то специфическое его поведение (а-ля, контрол сделал кто-то другой в отдельной либе с кучей других контролов с кучей взаимосвязанных методов и наследований), то проще и лучше его действительно переписать.
Как-то заморачивался в WF с симпатишным ListView, так чтоб подсвечивался при фокусе, чтоб подсвечивались выделенные, чтоб был и мультиселект и сингл, и вообще коллекции внутри со своим поведением. Кароч решил заморочиться настолько, что аж сделать отдельную либу и раздать желающему кругу лиц. А спустя год переписал за час под WPF с той же и даже лучше симпатичностью.
0
163 / 138 / 35
Регистрация: 25.11.2015
Сообщений: 910
04.04.2019, 14:24
А под WF что-то еще пишуть?
0
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
04.04.2019, 14:41  [ТС]
Цитата Сообщение от Рядовой Посмотреть сообщение
Лично от себя бы рекомендовал не заниматься подобным а переписать весь контрол в WPF
Спасибо.
Заодно и WPF выучу...
0
 Аватар для Рядовой
1524 / 914 / 329
Регистрация: 17.05.2015
Сообщений: 3,438
04.04.2019, 20:33
yurickas, десткоп приложения вообще по большей части для работы. Ну я уже давно не встречал каких то развлекательных. А для работы разве нужен красивый интерфейс?
0
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
05.04.2019, 08:58  [ТС]
Приложение было написано до меня.
Я его "допиливаю".
Переписывать на чистый очень долго получится.

Может ещё подскажете один момент?
Использую библиотеку AForge. Кастомный видеоплеер такой.

Вот такая ошибка появляется при работе в некоторых операционках (не во всех).
Чаще возникает в винде 10. В 7-ке тоже, но только в совсем новых версиях.

То есть получается что в некоторых операционках объект "источник видеоданных" представляет собой __ComObject, а в других - нет?

Скажите, есть где почитать про эти "ком объекты" для шарпа ?
Миниатюры
Можно ли использовать C# юзерконтрол в WPF форме?  
0
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
05.04.2019, 10:02  [ТС]
Наверное потому что эта форма вида WinForms...

Скажите, а из WPF формы, что WinForms форму тоже нельзя запускать или какие-то проблемы тоже бывают ?

Добавлено через 33 минуты
А может опять из-за того, что это создаю в юзер контроле...
Хотя даже в основном окне слово "this" не доступно...
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
05.04.2019, 15:04
Цитата Сообщение от Khludenkov Посмотреть сообщение
где почитать про эти "ком объекты"
По сути, это объект из неуправляемой памяти.
Это довольно обширная тема, с кучей подводных камней, технологий. Сузьте запрос.
0
37 / 31 / 5
Регистрация: 30.04.2014
Сообщений: 1,037
05.04.2019, 15:55  [ТС]
Имеется приложение, написанное на WPF. Это кастомный медиаплеер.
Также он использует библиотеку AForge для захвата видео с вебки и отображения на холсте.

Там есть код, где перечисляются все доступные видеоустройства.

C#
1
2
3
4
5
6
            VideoCapabilities videoCapabilities = null;
            foreach (VideoCapabilities vc in Device.VideoCapabilities)
            {
                   ....
                   ....
            }

Device это тип VideoCaptureDevice для библиотеки AForge


На C# (в другом проекте) этот код работает. Либо на виндос 7.

При работе на виндос 10 выдаётся исключение (подробности в картинке):

Необработанное исключение типа "System.ArgumentException" в mscorlib.dll
Дополнительные сведения: Объект должен иметь тип __ComObject или производный от __ComObject тип.

Ругается на: Device.VideoCapabilities

Почему этот Device.VideoCapabilities должен быть типа __ComObject?

В других системах он является __ComObject-ом? Или же это требование там не нужно?

Как определить, является ли некий объект в коде си шарпа __ComObject-ом ?
Миниатюры
Можно ли использовать C# юзерконтрол в WPF форме?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.04.2019, 15:55
Помогаю со студенческими работами здесь

Подскажите какой компонент можно использовать, чтобы сделать эквалайзер на форме
Всем привет! Возник вопрос. Какой компонент можно использовать чтобы получилось что-то вроде эквалайзера, значение которого постоянно...

Хочу создать переменную в форме, которую можно использовать во всех кнопках
Всем камрадам низкий поклон и покорнейшая просьба разъяснить вопрос. У меня есть решающая нужную мне задачу программа, на входе и...

Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI.
Ну собственно весь вопрос в заголовке темы.

Как можно использовать выделенную строку в подчиненной форме "СписокНовыхКарт" для дальнейшей работы
Здравствуйте! Заканчиваю еще один проект с вашей помощью, спасибо! 1) Подскажите, как можно использовать выделенную строку в...

Проверка текстбоксов на пустоту в юзерконтрол
Доброго утра! :) Подскажите, как проверить textbox'ы на пустоту в usercontrol? Заранее спасибо!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru