|
xaml на C#
|
|||
---|---|---|---|
#18+
Добрый день! А как на C# построить код по аналогии с xaml? Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Типа Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2014, 16:03 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
сглючило Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2014, 16:07 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Draginsv, Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.08.2014, 17:10 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Как хочешь так и понимай xaml Код: xml 1.
все дела при вызове класса GridSplitter который вложен в объект Grid в разметке c# ни чего общего с вложенностью xaml не имеет Код: c# 1.
обычно я так думал: метод класса вызывают от имени к н объекта, а тут от имени класса. я не могу понять как здесь выбирается конкретный из объектов класса Grid, а если их будет два? Код: c# 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2014, 09:41 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Draginsv, Открой книгу по WPF - например, Pro WPF in C# Метью МакДональда - и прочитай главу про attached propertiers. Они хранятся в том контроле для которого указано занчение в XAML - для тебя это GridSplitter. Взаимосвязь с конкретным гридом произойдет когда ты добавишь его как дочерний элемент в grid контейнер. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2014, 14:23 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
bazile, С xaml понятно, а вот с C# не понял. Я могу на xaml грид в ячейке другого грида создать. Как c# поймет в какой грид вставить сплиттер? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2014, 15:04 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
когда ты добавляешь в Children Грида UIElement, тот для его размещения запросит атрибут Grid.GetRow. Grid.Row это прикрепляемый атрибут который нужен объекту Grid размещения объектов внутри себя во время выполнения прохода Measure Arrange такой прикрепляемый атрибут можно добавить к любому DependencyObject и прочитать его можно из любого класса имеющего доступ к классу который реализует этот прикрепляемый атрибут (в данном случаи это Grid) это супер мега удобная фигня ) особенно кода нужно изменить поведение объекта (к примере) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 11:53 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Спасибо, начинаю понимать. xaml, template, style, binding - все это хорошо. Но я зародился идеей создать клиента управляемого из базы данных, для этого мне придется писать практически все на c#, а это tree заполняемое из базы с рекурсией по вложенности, клик по node рождает tabitem c оригинальным содержимым по описанию из базы. xaml я как понял - это больше статическое описание контролов на форме, а мне их нужно создавать динамически по описанию из базы. на xaml сейчас разработана только стартовая часть приложения tree и скрытый tabcontrol, который становится видимым при появлении хотя бы одного tabitem в коллекции. Сейчас пытаюсь на c# создавать содержимое панели tabitem, но ощущения до марафонца далеки, продвигаюсь медленно как по болоту. Может кто меня правильно направит как правильно работать с моей идеей, только пожалуйста ее не затопчите. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 12:29 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
для иерархического представления данных на экране в Xaml используются иерархические шаблоны: Код: xml 1. 2. 3.
в ItemsSource ты указываешь на список ветвей текущего элемента для удобства стоит создать базовую модель представления для всех элементов дерева, создать в ней 2 поля: IsExpand IsSelect и биндить их к полям элемента TreeViewItem (если контейнером выступает именно этот объект (при услосвии, что ты используешь TreeView контрол) Что тебе это даст? ты можешь загружать дерево последовательно, к примеру в сеттере IsExpand, если новое значение равно True, будут загружаться из твоего плоского списка все элементы которые имеют нужный атрибут "родитель" а с помощью свойства IsSelect ты всегда сможешь через ModelView задать текущий выбранный элемент. как то так :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 12:38 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Roman Mejtes , спасибо! Я решил вопрос с заполнением дерева с помощью c# Код: 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.
сейчас никак не могу заставить появиться содержимому табитема Код: 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.
ti.Content = gridti; как будто не работает или я не так делаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 13:09 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
сплиттер в табитеме не обнаруживается ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 13:12 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Прочувствовал Код: c# 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 13:25 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Draginsv, можно спросить, зачем усложнять себе жизнь и задавать разметку в коде, а не в XAML-e? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 13:49 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
monstrilla, Я не нашел решения как генерить разметку по содержанию базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 13:57 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
я представления не имею об содержимом табитемов, об этом знаю служебные таблицы базы данных. какие там контролы с какой привязкой бог его знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 14:01 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Draginsv, может просто использовать не Grid, а DataGrid, если проблема только в динамическом количестве строк? так или иначе, можно строку (в формате XAML) конвертить в собственно XAML. Есть такой тип в ВФП XamlReader. Это почти то же самое, что делаешь ты, но на мой взгляд XAML собирать удобнее, чем в объекты в кодбехайнде ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 14:15 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Draginsv, авторкакие там контролы а, ну если контролы в окне динамические, то понятно ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 14:17 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
у датагрида автогенерация столбцов для табличного просмотра и навигации то что надо. А вот контрола с авто генерацией лейбов и текстбоксов по вертикали в контейнере для одной строки таблицы базы я не нашел. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 14:34 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Draginsv, опиши задачу в целом, т.е. что ты выводишь, что хочешь увидеть в результате. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 14:37 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
В целом окно типа проводника слева дерево типа меню справа появляющийся табконтрол клик по ноду дерева-родился табитем по тегу дерева из базы берется служебная инфа в табе генерятся элементы - форма готова пока такая идея формы верх текст блок с отображением примененного фильтра к табличной части табличная часть сплиттер детальная часть - лейбы и текстбоксы - применяется для редактирования и фильтрации. один из техтбоксов может быть по полю таблицы ссылкой на примерикей другой таблицы, но в нем отображается строка таблицы родителя а не ключ. Соответсвенно будет использоваться подстановки ключа из выбранной строки вновь рожденного табитема с динамическими контролами и с подобным видом и тд пока не будет ссылок на ключи в детальной части. При этом поведение табитемов "Модальное" как с модальными формами. Это функционал редактирования базы. Также будут инструментальные табы для макроопераций со своим обобщенным видом. это только начало. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2014, 15:15 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
DraginsvRoman Mejtes , спасибо! Я решил вопрос с заполнением дерева с помощью c# Тебе правильно указали на шаблоны данных. Не знаю, может, для всех твоих хотелок шаблонов и не хватит, но для некоторых - точно хватит. DraginsvВ целом окно типа проводника слева дерево типа меню справа появляющийся табконтрол клик по ноду дерева-родился табитем по тегу дерева из базы берется служебная инфа в табе генерятся элементы - форма готова пока такая идея формы Это на башлонах данных всё решается. Кроме того, глянь MVVM, ибо без моделей и моделей представления будешь всё ручками генерить. Это устаревший подход, и подходит, если ты работаешь один, без дизайнера и вообще любишь всё старинное. Здесь , кроме того, что базовая статья по MVVM, ещё и пример с порождением формы в табе. Здесь два примера дерева с иерархическими шаблонами данных - один пример с данными одного типа в каждом уровне дерева, другой - с данными разного типа для каждого уровня. Пробуй, комбинируй. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 07:26 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Вот правильная цитата к твоему подходу: авторThe problem is that people often try to use it in the same way that one might code against the Windows Forms TreeView control. In order to leverage the extensive features of the WPF TreeView, you cannot use the same programming techniques as in Windows Forms. This is yet another example of how WPF requires you to shift mental gears to make use of the platform appropriately. We aren’t in Kansas anymore, Toto. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 07:29 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
НемоКэп42Вот правильная цитата к твоему подходу: авторThe problem is that people often try to use it in the same way that one might code against the Windows Forms TreeView control. In order to leverage the extensive features of the WPF TreeView, you cannot use the same programming techniques as in Windows Forms. This is yet another example of how WPF requires you to shift mental gears to make use of the platform appropriately. We aren’t in Kansas anymore, Toto. ...если абстрагироваться от TreeView. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 07:30 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
Ну, а когда захочется чего-то такого-этакого, с чем шаблоны не справятся, тогда уже только смотри в кодогенерацию ГУИ. Есть ещё такой изврат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 07:34 |
|
xaml на C#
|
|||
---|---|---|---|
#18+
авторКроме того, глянь MVVM, ибо без моделей и моделей представления будешь всё ручками генерить. Это устаревший подход, и подходит, если ты работаешь один, без дизайнера и вообще любишь всё старинное. мввм он как бы про другое и нет никакого "устаревшего" подхода. каждый подход хорош к месту :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.09.2014, 13:12 |
|
|
start [/forum/topic.php?fid=21&fpage=21&tid=1441042]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 158ms |
0 / 0 |