powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
25 сообщений из 168, страница 2 из 7
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36632105
Фотография LR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositumтогда всё встаёт на свои места. это меня перемкнуло, что можно и к шаблонам (((хм...все же непонятно, почему не отрабатывает неявное применение шаблона по типу в случае с HierarchicalDataTemplate
The DataType Property
The DataTemplate class has a DataType property that is very similar to the TargetType property of the Style class. Therefore, instead of specifying an x:Key for the DataTemplate in the above example, you can do the following:

XAML Copy Code
<DataTemplate DataType="{x:Type local:Task}">
<StackPanel>
<TextBlock Text="{Binding Path=TaskName}" />
<TextBlock Text="{Binding Path=Description}"/>
<TextBlock Text="{Binding Path=Priority}"/>
</StackPanel>
</DataTemplate>

This DataTemplate gets applied automatically to all Task objects. Note that in this case the x:Key is set implicitly. Therefore, if you assign this DataTemplate an x:Key value, you are overriding the implicit x:Key and the DataTemplate would not be applied automatically.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36632126
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LRхм...все же непонятно, почему не отрабатывает неявное применение шаблона по типу в случае с HierarchicalDataTemplate

не совсем так. в том коде (полный вариант), который выложен у меня на "сайте" - неявная привязка к классам, сгенерированным Linq to SQL автоматически происходит, однако она не происходит в том случае, когда типом данных является XElement - в этом случае приходится принудительно задавать, чтобы заработало.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36632233
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Внёс в xaml-разметку окна такое изменение (см. Path):
Код: plaintext
1.
2.
3.
4.
        <!--Отображаем примечания для выбранного в иерархии элемента-->
        <GroupBox Header="Примечание" Margin="2" Grid.Row="2">
            <TextBlock Name="selectedNodeDescription" TextWrapping="Wrap" Text="{Binding ElementName=treeStructure, Path={StaticResource ResourceKey=descr1}}" />
        </GroupBox>
А в словарь ресурсов добавил это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    <!--Примечания по категориям-->
    <PropertyPath x:Key="descr1">
        SelectedItem.Description
    </PropertyPath>
    <PropertyPath x:Key="descr2">
        SelectedItem.Attribute[Description].Value
    </PropertyPath>
Нужно, чтобы при смене источника данных, для элемента selectedNodeDescription свойство Path привязки получало линк на ресурс descr1 (в случае линковки к БД), и линк на ресурс descr2 (в случае линковки к xml).
Можно ли это реализовать как-то средствами разметки?
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36632475
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
добил статейку . )
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36632494
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошая статья, Андрей. Респект!
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36632510
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУХорошая статья, Андрей. Респект!
Спасибо Даниил! )
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36633711
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей, еще можно рассмотреть альтернативу Вашей статье. MVVM. Если надо, скину свой пример.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634264
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634754
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУАндрей, еще можно рассмотреть альтернативу Вашей статье. MVVM. Если надо, скину свой пример.
Честно говоря я не однократно пытался понять, что такое MVVM, но нигде не встречал статьи, в которой на простом, (понятном для меня) примере было бы разъяснено, что это за технология. Сегодня читал это , но яснее не стало. В своих решениях (solution) я всегда стараюсь действовать по следующей схеме:

1. Придумываю логическую схему работы приложения (как что должно работать).

(Все ниже указанные проекты создаются в составе Solution).

2. Создаю проект, в котором определяю набор интерфейсов (interfaces), работающих согласно тому, как это было обозначено в схеме, разработанной в п.1 и посредством которых должны взаимодействовать между собой части приложения (это позволяет в последствии, при необходимости безболезненно заменять любое "звено" приложения другим, поскольку и новый и старый компонент реализуют один и тот же интерфейс). Т.о. можно ядру приложения "скормить совершенно новую версию GUI (например 3D вместо прежнего 2D) - главное, чтобы компоненты реализовывали те же interfaces.

3.Создаю проект, содержащий набор классов для работы с БД (если работаю с БД) - т.к. работаю с MS SQL Server, то это означает, что данный набор классов я генерирую с помощью LINQ to SQL. Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2.

2. Создаю проект, содержащий графический интерфейс (GUI), в котором сразу решены вопросы локализации, а так же по максимуму (насколько "соображалки" хватает) реализованы связи в XAML-разметки и используются словари ресурсов, (как правило - вынесенные в отдельные файлы). Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2. Все визуальные настройки контролов осуществляются строго через стили (содержащие в своём составе различные шаблоны).

3. Создаю проект, содержащий набор классов, реализующих интерфейсы п. 2 и выполняющие различные необходимые мне операции.

4. Создаю новый проект, в котором созданы классы реализующие интерфейсы, заданные в п.2 и предназначенные для ведения различных логов (журналов) в формате xml (например журнал ошибок).

5. Т.о. теперь всё подготовлено к тому, чтобы собрать ядро приложения, реализующее необходимую логику работы. Причём в этом ядре оперирование выполняется исключительно ИНТЕРФЕЙСАМИ, созданными в п.2, а не экземплярами конкретных классов. Т.о. в заключительной стадии я создаю новый проект, реализующий в себе "ядро" (логику) работы моего приложения. К этому приложению подключаются через референсы все остальные.

Я не знаю как называется мой подход - поскольку, честно говоря, читая статьи аналогичные той, что я указал в линке выше по данному посту, понимания у меня не прибавляется (к сожалению)... (((
А теперь вопрос - на какую технологию это больше смахивает?
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634767
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я могу написать "статейку", в которой я бы "с нуля" создал приложение пройдя через все указанные мною выше пункты, однако у меня есть до сих пор ряд вопросов, за которые я не садился, но которые должны присутствовать в такой статье:

1. При смене локализации (в настройках приложения), желательно, чтобы изменения вступали в силу сразу, а не при следующем запуске приложения.
2. Я пока не умею создавать полноценные инсталляционные пакеты (причем в статье желательно было бы показать сборку как Setup.exe, так и Install.msi - т.е. два варианта пакетов установки).
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634787
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и третий, весьма не маловажный пункт - каждый .net-программист должен уметь писать приложения, имея под рукой нужную версию Windows, .Net Framework и обычный Notepad. Т.е. он должен уметь работать с утилитой MsBuild.exe, самостоятельно писать proj-файлы, инкапсулируя в них логику сборки приложения.

К сожалению я не настолько хорошо знаю MsBuild.exe, хотя и не совсем полный ноль в нём (во всяком случае читать proj-файлы и понимать логику того, что в них прописано - могу).


Лично я таких статей не встречал (во всяком случае на русском). А ведь было бы интересно... ИМХО конечно же...
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634803
AlexeiK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Compositumи третий, весьма не маловажный пункт - каждый .net-программист должен уметь писать приложения, имея под рукой нужную версию Windows, .Net Framework и обычный Notepad. Т.е. он должен уметь работать с утилитой MsBuild.exe, самостоятельно писать proj-файлы, инкапсулируя в них логику сборки приложения.

токо не надо флудить пожалуйста после ответа моего.

но твой не маловажный пункт отражает какой то мир юношеского максимализма.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634809
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CompositumМСУАндрей, еще можно рассмотреть альтернативу Вашей статье. MVVM. Если надо, скину свой пример.
Честно говоря я не однократно пытался понять, что такое MVVM, но нигде не встречал статьи, в которой на простом, (понятном для меня) примере было бы разъяснено, что это за технология. Сегодня читал это , но яснее не стало. В своих решениях (solution) я всегда стараюсь действовать по следующей схеме:

1. Придумываю логическую схему работы приложения (как что должно работать).

(Все ниже указанные проекты создаются в составе Solution).

2. Создаю проект, в котором определяю набор интерфейсов (interfaces), работающих согласно тому, как это было обозначено в схеме, разработанной в п.1 и посредством которых должны взаимодействовать между собой части приложения (это позволяет в последствии, при необходимости безболезненно заменять любое "звено" приложения другим, поскольку и новый и старый компонент реализуют один и тот же интерфейс). Т.о. можно ядру приложения "скормить совершенно новую версию GUI (например 3D вместо прежнего 2D) - главное, чтобы компоненты реализовывали те же interfaces.

3.Создаю проект, содержащий набор классов для работы с БД (если работаю с БД) - т.к. работаю с MS SQL Server, то это означает, что данный набор классов я генерирую с помощью LINQ to SQL. Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2.

2. Создаю проект, содержащий графический интерфейс (GUI), в котором сразу решены вопросы локализации, а так же по максимуму (насколько "соображалки" хватает) реализованы связи в XAML-разметки и используются словари ресурсов, (как правило - вынесенные в отдельные файлы). Причём компоненты проекта реализуют нужные интерфейсы, созданные в п. 2. Все визуальные настройки контролов осуществляются строго через стили (содержащие в своём составе различные шаблоны).

3. Создаю проект, содержащий набор классов, реализующих интерфейсы п. 2 и выполняющие различные необходимые мне операции.

4. Создаю новый проект, в котором созданы классы реализующие интерфейсы, заданные в п.2 и предназначенные для ведения различных логов (журналов) в формате xml (например журнал ошибок).

5. Т.о. теперь всё подготовлено к тому, чтобы собрать ядро приложения, реализующее необходимую логику работы. Причём в этом ядре оперирование выполняется исключительно ИНТЕРФЕЙСАМИ, созданными в п.2, а не экземплярами конкретных классов. Т.о. в заключительной стадии я создаю новый проект, реализующий в себе "ядро" (логику) работы моего приложения. К этому приложению подключаются через референсы все остальные.

Я не знаю как называется мой подход - поскольку, честно говоря, читая статьи аналогичные той, что я указал в линке выше по данному посту, понимания у меня не прибавляется (к сожалению)... (((
А теперь вопрос - на какую технологию это больше смахивает?

Это смахивает на Winforms со всеми его недостатками. Какие сложности с MVVM?
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634830
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeiK
токо не надо флудить пожалуйста после ответа моего.
но твой не маловажный пункт отражает какой то мир юношеского максимализма.
мой "не маловажный пункт" говорит о том, что автоматическая генерация кода - это удобно, но не исключает необходимости ПОНИМАНИЯ того, что сгенерировано студией программно (а генерируется, как правило, далеко не один файл). В противном случае это всё равно, что работать спасателем на пляже не умея плавать и надеясь только на надувную резиновую уточку, натянутую на живот - да, это работает, но что если уточка вдруг лопнет (т.е. если понадобится написать код, а VS не будет под рукой, или вдруг проект перестанет собираться), что тогда? Понимание того, КАК это работает, не значит, что нужно всё время писать код в блокноте. Но понимать нужно, а любая статья предназначена для того, чтобы дать ЗНАНИЕ.

п.с. "токо не надо флудить пожалуйста после ответа моего." (с)
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634831
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Silverlight
Это смахивает на Winforms со всеми его недостатками.
Недостатки в студию (с).
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634935
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допиши статью с возможность редактирования данных, чтобы таблиц было десятка два, а не две. Сам увидишь.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634954
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverlightДопиши статью с возможность редактирования данных, чтобы таблиц было десятка два, а не две. Сам увидишь.
Ответ ни о чём.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634975
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А о чем может быть разговор, если для тебя нет разницы,когда присутствует код во view или нет.
Не в обиду, но статья вредная, о том, как не нужно делать в wpf.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36634981
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverlightДопиши статью с возможность редактирования данных, чтобы таблиц было десятка два, а не две. Сам увидишь.
MVVM, как-раз таки, решает не эту задачу, к сожалению. Он дает полноценно тестировать гуй, покрывая автотестами поведение этого гуя, а так же более мягко перенести один вид приложения на другой (например, WPF апп на сильвер апп). Всё.
Большой недостаток MVVM в серьезных приложениях - повышенные сложность/объем кода и его поддержка.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635000
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilverlightА о чем может быть разговор, если для тебя нет разницы,когда присутствует код во view или нет.
Не в обиду, но статья вредная, о том, как не нужно делать в wpf.
Написал так, как мне видится решение.
С интересом почитаю, если напишешь и покажешь свой вариант примера.

п.с. я и сам понимаю, что статья далека от совершенства, но приветствую критику по существу, чётко указывающую не верно решённые в примере моменты и предлагающую конкретные альтернативные варианты решения этих моментов. Фраза "статья вредная, о том, как не нужно делать в wpf" не содержит ничего из выше перечисленного, а следовательно не имеет "веса". имхо.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635007
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 МСУ
Даниил, из перечисленного мною здесь , какие замечания можете дать?
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635010
Фотография Compositum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и заодно насчёт вашего примера поподробнее если можно.... В смысле у вас есть оформленный пример, в котором используется MVVM?
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635014
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй понять MVVM, отпадет необходимость в написании конвертеров, можно будет безболененно менять view и тд. Все весьма упростится.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635026
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CompositumSilverlightА о чем может быть разговор, если для тебя нет разницы,когда присутствует код во view или нет.
Не в обиду, но статья вредная, о том, как не нужно делать в wpf.
Написал так, как мне видится решение.
С интересом почитаю, если напишешь и покажешь свой вариант примера.

это фантастика, сынок (с) Реклама.
...
Рейтинг: 0 / 0
Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
    #36635246
Silverlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Compositumи заодно насчёт вашего примера поподробнее если можно.... В смысле у вас есть оформленный пример, в котором используется MVVM?
Я же дал тебе ссылку на статью с примером MVVM. Это классика ее все цитируют.

2 iscrafm, я это сделаю быстрее и проще, чем ты со своей искрой. Для тебя сынок, это, действительно, будет фантастикой. Могу поспорить на твой ноутбук.
...
Рейтинг: 0 / 0
25 сообщений из 168, страница 2 из 7
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Иерархическое отображение данных xml-файла в элементе TreeView с помощью привязки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]