Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
Добрый день. WPF, .Net 3.5 SP1, MS VS 2010. Написал такой пробный класс: Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. Тестирую его: Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. Однако в окне не появляется текст. Если вместо MyUIElement использовать ContentControl (см. закомментированный блок кода) - надпись появляется. Почему в приведённом выше коде, при использовании класса MyUIElement, текст не появляется в окне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2010, 18:31 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
Compositum, 1) вам еще раз необходимо прочитать как объявлять DependencyProperty. 2) вы мешаете два состояния класса, выберите не статичный класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2010, 20:00 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
Compositum, 3) если это визуальный контрол, создайте для него Template в который и поместите ContentControl, с которым потом и работайте. 4) почитайте как создавать свои CustomControl. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2010, 20:04 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
уТКа1) вам еще раз необходимо прочитать как объявлять DependencyProperty. Читал неоднократно. Если видите ошибку в объявлении свойства зависимости - прошу указать на неё. уТКа2) вы мешаете два состояния класса, выберите не статичный класс. Вообще-то мой класс итак не статический. уТКа3) если это визуальный контрол, создайте для него Template в который и поместите ContentControl, с которым потом и работайте. 4) почитайте как создавать свои CustomControl. Вы не поняли, я не собираюсь создавать полноценный пользовательский контрол. На примере своего класса я проверяю, можно ли создать аналог ContentControl. Это своего рода маленький эксперимент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.12.2010, 20:37 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
Compositum, авторЧитал неоднократно. читайте еще раз и внимательно! обратите внимание КАК вы объявляете DependencyProperty и как надо! http://msdn.microsoft.com/en-us/library/ms752914.aspx авторВообще-то мой класс итак не статический. авторstatic MyUIElement(){...} какого хрена тогда тут конструктор статический делает? небрежное отношение порождает не работающую программу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 10:57 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
уТКаCompositum, авторЧитал неоднократно. читайте еще раз и внимательно! обратите внимание КАК вы объявляете DependencyProperty и как надо! http://msdn.microsoft.com/en-us/library/ms752914.aspx авторВообще-то мой класс итак не статический. авторstatic MyUIElement(){...} какого хрена тогда тут конструктор статический делает? небрежное отношение порождает не работающую программу. У... Как у вас всё запущено, уважаемый... Так вы пытаетесь учить, не разбираясь в самой теме??? Это не есть гуд. Итак, поехали: уТКачитайте еще раз и внимательно! обратите внимание КАК вы объявляете DependencyProperty и как надо! http://msdn.microsoft.com/en-us/library/ms752914.aspx авторВообще-то мой класс итак не статический. авторstatic MyUIElement(){...} какого хрена тогда тут конструктор статический делает? небрежное отношение порождает не работающую программу. Во первых - давайте без истерик... Договорились? Во вторых, видимо сейчас я открою вам Америку - инициализировать свойство зависимости можно не только в момент объявления этого поля, но и в закрытом статическом конструкторе класса . Откройте Мэтью-Макдональда , в книге о WPF 3.0, главу "Свойства зависимостей и маршрутизируемые события" - автор пишет об этом и даёт пример, в котором инициализация происходит именно в статическом конструкторе (стр 177). Откройте Чарльза Петцольда "WPF базовый курс", главу "Зависимые свойства" на стр 155 - вас это удивит, но и он так же в своих примерах инициализирует свойства зависимости в статическом конструкторе. Честно говоря, я как-то по умолчанию принимаю, что информация, которую дают указанные мною выше авторы, не подлежит сомнению (возможно вы на этот счёт имеете др. мнение)... Т.о. прежде чем таким тоном "поучать", изучите сначала вопрос сами, дабы самому не сесть в лужу со своими интонациями/поучениями (без обид)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 11:23 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
очепятка: "инициализировать" следует читать как "регистрировать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 11:24 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
Compositum, истерики нету, просто голые эмоции в тексте :) по делу, я не WPF разработчик (поэтому читать выше указанные книги нету смысла), но Silverlight разработчик, в нем я ни разу не видел такого "странного" вида объявления зависимых пропертей, поэтому предпочитаю делать как написано в МСДН. опыт владения более двух лет и имеются проекты (смотри ссылки в профиле) которые люди использую и при этом счастливы. хотите упирайтесь дальше и спрашивайте на всех форумах "почему не работает", хотите сделайте как правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 13:04 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
уТКада нормально у него все объявлено, несколько занудно, разве что (разницы между непосредственной инициализацией public static readonly поля и инициализацией его же в статическом конструкторе нет никакой, это азы шарпа :) в итоге реально инициализация будет произведена именно в статическом конструкторе, а непосредственная инициализация при объявлении - просто синтаксический сахар шарпа). По делу - не могу понять, почему автор ожидает от свойства MyContent такого же поведения, как у свойства Content класса ContentControl. Только потому, что класс помечен атрибутом ContentProperty? Сдается мне, что этого совершенно недостаточно и нужно, как уже советовал утка, поместить ContentPresenter в шаблон своего контрола, в OnApplyTemplate находить этот презентер, и совать в него то, что присвоено в MyProperty (соответственно, callback изменения свойства MyProperty должен учитывать тот факт, что может быть вызван ДО OnApplyTemplate, и корректно обрабатывать это). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 13:21 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
уТКая не WPF разработчик (поэтому читать выше указанные книги нету смысла), но Silverlight разработчик, в нем я ни разу не видел такого "странного" вида объявления зависимых пропертей, поэтому предпочитаю делать как написано в МСДН. хотите упирайтесь дальше и спрашивайте на всех форумах "почему не работает", хотите сделайте как правильно. MSDN : ПримечаниеОпределение свойства зависимости в теле класса является обычной реализацией, но также возможно определить свойство зависимости в статическом конструкторе класса. Этот подход может пригодиться в том случае, если для инициализации свойства зависимостей понадобится несколько строк кода. Как видите - мой вариант регистрации присутствует и в MSDN. В первом посте мною указано, что топик относится к WPF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 13:23 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
pfaneraСдается мне, что этого совершенно недостаточно и нужно, как уже советовал утка, поместить ContentPresenter в шаблон своего контрола, в OnApplyTemplate находить этот презентер, и совать в него то, что присвоено в MyProperty (соответственно, callback изменения свойства MyProperty должен учитывать тот факт, что может быть вызван ДО OnApplyTemplate, и корректно обрабатывать это). Спасибо, попробую... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 13:26 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
CompositumДобрый день. WPF, .Net 3.5 SP1, MS VS 2010. Написал такой пробный класс: Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. Тестирую его: Код: 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. 37. 38. 39. 40. 41. 42. 43. 44. 45. Однако в окне не появляется текст. Если вместо MyUIElement использовать ContentControl (см. закомментированный блок кода) - надпись появляется. Почему в приведённом выше коде, при использовании класса MyUIElement, текст не появляется в окне? А с чего он должен появляться? Объявленно обычное свойство, присвоенно ему значение без всякой привязки к визуальному элементу, который должен выводить значение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 14:17 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
iА с чего он должен появляться? Объявленно обычное свойство, присвоенно ему значение без всякой привязки к визуальному элементу, который должен выводить значение. Делал по аналогии с ContentControl, исходники коего смотрел через Reflector. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 14:18 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
CompositumДелал по аналогии с ContentControl, исходники коего смотрел через Reflector.Не верю :) ContentControl имеет в своем шаблоне как раз таки ContentPresenter, а уж тот обучен выводить контент by design. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 17:24 |
|
||
|
Тестовая альтернатива ContentControl
|
|||
|---|---|---|---|
|
#18+
pfaneraCompositumДелал по аналогии с ContentControl, исходники коего смотрел через Reflector.Не верю :) ContentControl имеет в своем шаблоне как раз таки ContentPresenter, а уж тот обучен выводить контент by design. шаблон под MyUIElement я не делал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2010, 17:26 |
|
||
|
|

start [/forum/topic.php?fid=21&fpage=59&tid=1442563]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 337ms |

| 0 / 0 |
