Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Всем привет! Пытаюсь реализовать свой контрол, который содержит внутри себя, кроме прочего, TextBox. Контрол имеет свойство Text , которое аналогично такому же свойству TextBox'а : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. В приложении (xaml) использую так: Код: plaintext Код: plaintext Такое впечатление, что в MyControl я чего-то недописал... Если кто знает в чем может быть проблема, где я чего упустил, подскажите, пожалуйста. Заранее благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2011, 10:40 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
UIPropertyMetadata ClassProvides property metadata for non-framework properties that do have rendering/user interface impact at the core level. FrameworkPropertyMetadata (derived from this class) is the more common metadata class used for framework-level properties that also have rendering/user interface impact. Может использовать FrameworkPropertyMetadata? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2011, 13:05 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Спасибо за подсказку!!! То что нужно: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2011, 15:13 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Alex ShulgВ приложении (xaml) использую так: Код: plaintext Все оказалось проще: Код: plaintext Так что все работает и с UIPropertyMetadata. Но все равно, спасибо, наводка помогла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2011, 15:20 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
У меня такой вопрос по поводу кастомного контрола. Если мне надо сделать график некой функции (с выбором параметров линии таких как цвет, толщина, тип и толщина шрифта) какой контрол наследовать - control или canvas? Если в этом контроле есть кроме самой линии/функции, линии ординат, текстовые надписи к ординатам, паралельные ординатам линии - может это надо применять usercontrol как групировку нескольких существующих компонентов, или в custom control можно тоже использовать вложенные компоненты в xaml-разметке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2018, 14:10 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
arrtУ меня такой вопрос по поводу кастомного контрола. Если мне надо сделать график некой функции (с выбором параметров линии таких как цвет, толщина, тип и толщина шрифта) какой контрол наследовать - control или canvas? Если в этом контроле есть кроме самой линии/функции, линии ординат, текстовые надписи к ординатам, паралельные ординатам линии - может это надо применять usercontrol как групировку нескольких существующих компонентов, или в custom control можно тоже использовать вложенные компоненты в xaml-разметке? Я бы не изобретал велосипед, а взял готовое . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2018, 18:48 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Готовое, изобретенное мной, мне надо именно предоставить. Вроде не так уж сложно в теории, если не надо от руки линию рисовать. Хотя очень многокомпонентный контрол должен получиться, и на коудпрожекте он расширяет userproject. Более того там он использует стороннюю библиотеку, которая в первую очередь помогает для биндинга событий, что наверное в моем случае тоже будет ключевым моментом если кроме dependency properties, использовать routed events. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2018, 19:11 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Canvas и Path+Geomtry ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2018, 22:22 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Да canvas может и подойдет но это лейаут. А вот вместо линии графика наверное надо Polyline. Меня интересует лиш то если групировать отдельные конттролы типа квадратной разметки графика, линий ординат, самой линии - возможно ли это все поместить в generic.xaml. Еще одним условием надо использовать несколько dependency properties для свойств графика. Но например здесь https://www.codeproject.com/Articles/49802/Create-a-WPF-Custom-Control-Part идет речь, что кастом контрол не имеет "design surface", и в общем он используется для расширение например одного компонента, в частности кнопки - а у меня мультикомпонентный контрол? Вот бы пример найти такой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2018, 18:53 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
arrtесли групировать отдельные конттролы типа квадратной разметки графика, линий ординат,я не понял. Обычно сетка координат и т.д. описанное рисуется в динамике и не является отдельными контролами для группировки. Так можно и буквы группировать из закорючек контролов XAML ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2018, 19:42 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
То есть все описание кастомного компонента должно быть в коде, а изменение шрифта, толщины линии будут реализованы через dependency property? Как тогда привязывать внешние события (например изменение шрифта) к этим property? В общем такой вариант приводится даже в целой книги о графиках wpf, но там он идет как user control тоже. Но там тоже есть textblock и т.д. А во всех примерах C.C. это расширение одного контрола, и композиция нескольких других существующих вроде не предполагается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2018, 13:36 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Если простое наследование Control подходит через добавление к дефолтному Border - Canvas/Grid в качестве потомка. То в последнем случае сразу возникает проблема после необходимости добавление в generic.xaml - x:class="wpfapp.customcontrol" что требует наличие ивент-обработчика. Ошибка такого типа после этого добавления - CustomControl:Control требует partial modifier ибо определение такого класа вроде уже есть. После добавление partial - уже другая ошибка can not be same definition for different base class?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 03:26 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
xaml должен начинаться с Код: xml 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 09:34 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Да начинается он стандартно - generics.xaml - только вот проблема может в том что всю разметку я помещаю в <Style, где есть <Border (ведь наследую я так - CustomControl:Control) всередину которого я помещаю Grid, a в нее потом другие компоненты как в UserControl - Только так я могу использовать как Customcontrol. Но посколько у меня есть event handler - я должен, ибо требует компилятор, добавить в шапку x:class="wpfapp.customcontrol", ссылка на полное имя класа где есть в том числе метод событие. Но после этого и появляется ошибка что надо partial modifier - ибо дефиниция custom control уже есть. Но она одна есть а не две. После добавление уже слова partial - уже ошибка что не может одной дефиниции/ или слова pаrtiаl (сейчас точно не помню) для разных базовых класов?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:17 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Ты сейчас пытаешься объяснить жестами, как поёт Паваротти )) Можешь дать тестовый пример? Только абсолютно тестовый, без всякого постороннего хлама, который не хочет работать. Желательно в виде архива проекта. Тогда можно будет чем-то помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:23 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
У вас есть элемент управления, который вы создали сами class MyControl : Control Есть элементу управления которые входят в его шаблон. Вам нужно получать от них события и обрабатывать внутри этого элемента управления? зачем вам тогда Behavior класс? я не понимаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:23 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Может надо переписать generic.xaml полностью. Чтобы он был более похожим на хаml обычного контрола. А все манипуляции этого контрола наверное надо уже будет делать при его добавление в main window - и привязывание его custom properties к custom / routed events - шаблон юзер контрола для хотя бы построение такого графика у меня есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:26 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
arrt, Я полностью перестал понимать. Скорее всего, ты идешь не тем путем. Ты пытаешься обсуждать не подход к решению какой-то проблемы, а твою (возможно неверную) реализацию этого решения. Попробуй от печки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:29 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
customcontrol:control - это клас созданный автоматически при создание нового customcontrol - new item- wpf... Если бы под рукой был код - но например customcontrol:control на котором выскакивает ошибка pаrtiаl собственно пуст... А generics.xaml - вызывает эту ошибку после добавление x:class - результат стандартного требование если в разметке есть ссылка на обработку события (в этом случае - grid_size_changed). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 13:39 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
arrt, то есть очевидная проблема в дублирование класа что ли. Может такое быть x:class=customclass быть вторым частичным класом? Но это всего лиш ссылка и в разметке тем более. О каких разных базовых класах может быть речь в последней ошибке- partial customcontrol:control и сам control? Может дебагер может больше подсказать где есть второй скрытый клас, ибо сам компилятор никаких ссылок не предоставляет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 14:09 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
1) Создайте свой класс, наследуйте его от Control 2) переопределите в нём стиль по умолчанию 3) создайте стиль по умолчанию в generic.xaml профит, в чем грабли я не понимаю? UserControl наследует не Control, а ContentControl. Я им вообще не пользуюсь, так как от ContentControl он по сути ничем не отичается. mycontrol.cs Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. themes\generic.xaml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 14:14 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Roman Mejtes, Собственно я наследую Control. В нем и есть конструктор static CustomControl{ defaultkeypropert ... Хотя стили здесь никакой роли наверное не играют, кроме если они привязаны к dependencyproperty - надо просто нарисовать график со всеми линиями, чтобы не выскакивали ошибки в том числе последняя. Шаблоный код у меня есть, от usercontrol кстати, и там эта ошибка очевидно не появляется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 14:52 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Вы пишите, что у вас какая то проблема с Partial классом, мне не понятно, от куда она у вас берется, так как в примере моем, не Partial классы, они там не нужны от слова совсем. Объясните нормально, в чем у вас ошибка, пример с воспроизведенной проблемой в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 15:07 |
|
||
|
WPF + CustomControl + TextBox
|
|||
|---|---|---|---|
|
#18+
Roman Mejtes, вам наверное проще создать кастомный контрол автоматически, в gеnеric.xаml вставить в бордер, грид, с любым суб- компонентом с ивентом добавить x:clаss, и включить инстанс этого кастом контрола в главный xаml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2018, 16:21 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=39631538&tid=1440415]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
53ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
73ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 184ms |

| 0 / 0 |
