|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos Да пробовал. Ну, блин, а я что делаю? Я и написал - gcc.DataContext = wpfimg; И рассчитывая (правильно) что этот DataContext будет передаваться всем детям по иерархии и дойдет до ColumnHeaderCustomizationArea написал, рассчитывая что вместо {Binding} будет wpfimg(.Source пробовал тоже) <DataTemplate> <Image Source="{Binding}"/> </DataTemplate> Я немного о другом. Вы рассчитываете, что шаблон будет применяться к DataContext. Но это надо знать точно, а не гадать. Вполне возможно он hghbvtyztncz к другому свойству, допустим, в Header. Вот пример XAML для демонстрации того о чём я говорю. Из него видно, что источник по умолчанию для ContentTemplate - это Content, а не DataContext. И чтобы привязаться к DataContext надо задавать восходящий поиск предка по типу. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:11 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos Привязка идет к GridColumnData, Contains information about a column. This class supports the internal infrastructure and is not intended to be used directly from your code. Видите, а вы рассчитывали на то, что там будет GridColumn.DataContext. По идее должна сработать такая привязка: Код: c# 1. 2. 3. 4. 5. 6. 7.
Только надо правильно задать пространство для префикса dexg ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:19 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp, Понял, я в принципе рассчитывал на DataContext по умолчанию, вроде так написано было в в доках. Но, можем и явно именовать, как ты показал. Щас проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:21 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp ViPRos Привязка идет к GridColumnData, Contains information about a column. This class supports the internal infrastructure and is not intended to be used directly from your code. Видите, а вы рассчитывали на то, что там будет GridColumn.DataContext. По идее должна сработать такая привязка: Код: c# 1. 2. 3. 4. 5. 6. 7.
Только надо правильно задать пространство для префикса dexg Такой код не работает (DataContext, DataContext.Source,...) Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:38 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos, Я это и раньше пробовал ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:38 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Класс GridColumnData Судя по документации до него "из вне" не достучаться. У него даже нет свойства DataContext. Поэтому присвоение значения Контексту Данных и не срабатывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:38 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp, за 40 с лишним лет за***ли все эти писатели, твари WinForms и WPF имеют собственные Application, Window и...... руки бы оторвал фаулерам долбаным, н одна фигня не работает как ожидается ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:40 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos Такой код не работает (DataContext, DataContext.Source,...) Проверьте, вообще, источник привязка находит или нет: Код: c# 1. 2.
ViPRos за 40 с лишним лет за***ли все эти писатели, твари WinForms и WPF имеют собственные Application, Window и...... руки бы оторвал фаулерам долбаным, н одна фигня не работает как ожидается DevExpress - это не WPF. Это отдельная библиотека со своими уникальными элементами, соглашениями контрактами. Общее с WPF у них заканчивается на DependencyObject. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:45 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ок, попозже, ужинать зовут :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 20:47 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Пусто все, проходит без икзепш, но и ничего не делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 21:37 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos Пусто все, проходит без икзепш, но и ничего не делает. Простые идеи закончились. Надо запускать Решение и разбирать в дебагере. Динамическое Визуальное Дерево в дебагере доступно? Есть ли в нём что-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 21:53 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp ViPRos Пусто все, проходит без икзепш, но и ничего не делает. Простые идеи закончились. Надо запускать Решение и разбирать в дебагере. Динамическое Визуальное Дерево в дебагере доступно? Есть ли в нём что-нибудь? Динамическое визуальное дерево это для Window, наверное. Вощем, тут дело в том, что этот класс GridColumn как бы и не является родителем своего хедера, я этот Image присвоил DataContext GridControl самого и тогда только все заработало! И это очень хорошо, хотя я в коде уже все решил, но появилась уверенность в XAML парсере - Работает, даже в смешанной среде! Гут! Теперь надо как то с Transparancy разобраться этих Imageов. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 22:09 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos, C DataContext как умолчание для Binding меня значит подкололи. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 22:12 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp, Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 22:25 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos, формально Хост контрол для WPF это и есть окно WPF, не вижу тут никаких проблем и противоречий, чтоб такое городить ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 23:23 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Roman Mejtes, Что хоть "городить" то? Был кусок XAML для DataTemplate, так как везде читал, что в коде создавать его не DataTemplate кошерно (дипрекейтед). И код этот не работал, вот разобрались почему не работал - потому что девки не хорошие ребята и я нуб в ВПФ. Но, теперь могу честно сказать, что имею опыт ковыряния в ВПФ и ускорил WinForms Xtra.TreeList на 2 порядка, заменив его на WPF GridControl.TreeListView :) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2021, 23:53 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos, решение нормальное. Трудность была в том, что нет нормальной документации по DevExpress и, как вы говорите, Динамическое Визуальное Дерево не работает. Из-за пришлось находить решение "методом научного тыка". По решению, обратите внимание, что вам не нужен в Контексте Данных Image. Вам нужен ImageSource. Вы создаёте Image, но не используете его. Я показал выше ( 22290284 ) как сразу создать ImageSource и именно его и надо передавать в Контекст Данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 00:13 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp ViPRos, решение нормальное. Трудность была в том, что нет нормальной документации по DevExpress и, как вы говорите, Динамическое Визуальное Дерево не работает. Из-за пришлось находить решение "методом научного тыка". По решению, обратите внимание, что вам не нужен в Контексте Данных Image. Вам нужен ImageSource. Вы создаёте Image, но не используете его. Я показал выше ( 22290284 ) как сразу создать ImageSource и именно его и надо передавать в Контекст Данных. Да нет, решение через DataContext грида для каждого колумна не кошерно, это мы просто разобрались с девекспрессом. Лучше в коде создавать DataTemplate для каждого колумна, так как у них разные статусы и Image сорсы и кешировать. Там еще у меня есть вопросы попозже. В LookUpEditSettings и т.д. есть встроенные кнопки (addNew, Clear,... ) и нет к ним доступа, там надо будет, кажется, тоже через routedCommand привязаться к событиям этих кнопок. Спрошу по ходу тогда. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 00:21 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos , писали, что привязка к статическим членам не работает. Как вы это проверили? Так не работает? Код: c# 1. 2. 3. 4.
Код: c# 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 00:29 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp ViPRos , писали, что привязка к статическим членам не работает. Как вы это проверили? Так не работает? Код: c# 1. 2. 3. 4.
Код: c# 1. 2. 3. 4. 5. 6. 7.
Да я не буду это даже проверять :) У меня другая задача - малой кровью ( не меняю ничего в принципе) заменить (и то с разрешения пользователя - через параметр ВИПРОС при больших объемах данных.) TreeList винформс на TreeListView ВПФ - и все. Это только из за того что TreeListView работает быстрее чем TreeList (большие объемы инициализируются быстрее на порядки). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 00:49 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos Да я не буду это даже проверять :) Вы просто писали, что хотели, но не получилось использовать Resuorses. Таким статическим класcом можно заменить глобальные (уровня App) ресурсы. А если в DevExpress используется Net 4.5, то такую привязку можно сделать даже динамической: Привязка к статическим свойствам ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 01:35 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp, Сижу на Net 4.0. Требование заказчика. Я еще задам вопросы :) С Binding почти разобрались - возможностей много. Просто слова class и т.д. на меня действуют как красная тряпка. :) Class только по принуждению VS. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 01:47 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos , это же Шарп, а Фортран! Здесь всё делается делается через классы! Net предоставляет только основные типы, скажем так - костяк. Но использование только их очень сильно усложняет решение. В решении обязательно используются свои кастомные классы. Без этого Шарп в такую кучу г..на превратится... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 02:01 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
Eld Hasp, Все совсем наоборот, NET - упрощенный доступ к ОС (относительно DWORD, DWORD,.... 50 параметров) + несколько моментов упрощающих жизнь формостроителям. А вот уже ваши (наши) "классы" ни в какие ворота не лезут :) чемоданы для переноса данных :) Есть в контроле DataContext и Resource типа Object? Есть! Значит этот контрол будет держать в этих свойствах ВСЮ нужную для чайлд иерархию информацию, иначе нафига они там заданы? Если я сам буду писать свои классы, то нафиг мне эти контролы? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 13:33 |
|
Не могу вывести Image, подсобите!
|
|||
---|---|---|---|
#18+
ViPRos Все совсем наоборот, NET - упрощенный доступ к ОС (относительно DWORD, DWORD,.... 50 параметров) + несколько моментов упрощающих жизнь формостроителям. А вот уже ваши (наши) "классы" ни в какие ворота не лезут :) чемоданы для переноса данных :) Вы не правы. Для работы с OC можно использовать Api и COM. Net был специально создан под языки ООП. И вне ОПП реализация Net приложения значительно усложняется. Элементарный пример. Как в DataContext передать несколько значений? Без создания своего кастомного класса это просто не получится осуществить. И таких примеров великое множество. Поэтому не надо проводить параллель "Если я этого не знаю или не умею - значит это только лишнее, придуманное для фриков". Изучайте новое, получайте опыт реализации. Когда сможете правильно использовать ООП - поймёте насколько оно упрощает жизнь. ViPRos Есть в контроле DataContext и Resource типа Object? Есть! Значит этот контрол будет держать в этих свойствах ВСЮ нужную для чайлд иерархию информацию, иначе нафига они там заданы? Если я сам буду писать свои классы, то нафиг мне эти контролы? Посмотрите шаблоны контролов, их визуально дерево. Они бывают порой очень сложными. Для конкретного контрола источник привязки по умолчанию всегда Контекст Данных. Но вы же привязку задаёте не у контрола, а у шаблона данных. Вот пример с ContentControl дополненный третьим способом задания в котором прекрасно работает привязка по умолчанию: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Когда в Контенте задаётся UI элемент, то используется напрямую для отображения. Если же в Контенте другой тип, то напрямую его отобразить невозможно. Для его отображения приходится задать Шаблон данных получающий в Контекст Данных переданные в Контент данные, а не в Контекст Данных. Вышеуказанные примеры с шаблоном данных, по сути раскрываются в такую структуру: Код: xml 1. 2. 3. 4.
Привязка в Text как получала значение из Контекста Данных, так и получает его. Но в Контексте Данных находится не Контекст Данных родительского элемента, а значение свойства Content. И сделано так потому, что этот элемент СПЕЦИАЛЬНО разработан для отображения данных получаемых в Content, а не в DataContext. Или другой пример. Можно задать в ListBox шаблон элемента ItemTemplate. И в Контексте Данных будет тоже не Контекст Данных ListBox, а элемент его коллекции. Потому что именно для этого он и был разработан. С вашей исходной задачей проблема возникла только из-за слабого документирования DevExpress. Если бы можно было получить полный шаблон элемента или посмотреть визуальное древо во время исполнения - решение бы нашлось очень быстро. В целом у меня сложилось впечатление, что вам стоило сделать свой кастомный UserControl получающий нужные данные в DataContext. Нормально отладить его в среде WPF. И потом уже этот готовый отлаженный контрол взывать через хост в Формах. Это было бы много проще, чем все эти "пляски с бубном" на Шарпе. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2021, 16:47 |
|
|
start [/forum/topic.php?fid=21&gotolast=1&tid=1440248]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 437ms |
0 / 0 |