Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
1

Как сохранить и загрузить объекты в WPF?

15.11.2016, 08:26. Показов 1714. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть программа, пустая.
Хочу при нажатии "кнопки" открывать (внешний)файл с настройками. Который бы содержал информацию об объектах и их расположении.

Как это осуществить?

Планирую Иметь возможность предоставлять файл с настройками разным людям, (разные по моему усмотрению настройки)

Если возможно поясните на примере <TextBox/> и <TextBlock/>....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2016, 08:26
Ответы с готовыми решениями:

Как загрузить и сохранить изображение в WPF ?
Доброго времени уток, я писал программу на windows forms, но сейчас решил перейти на WPF. Но...

Как загрузить картинку в WPF?
Уже сколько мучаюсь с этими картинками. Никак не могу понять почему мне VS не хочет отображать их в...

WPF: как загрузить картинку из OpenFileDialog?
точнее как сохранить выбранный файл в Image? у меня такой код... private void Button_Click(object...

Как загрузить в wpf форму *.doc документ?
Как загрузить в wpf форму *doc документ? Можно пример пожалуйста) Ворд(от офиса) не установлен ...

17
Эксперт .NET
1838 / 1346 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
15.11.2016, 09:56 2
Цитата Сообщение от Jylik Посмотреть сообщение
Есть программа, пустая.
Пустая в каком смысле? Только что созданный голый проект что-ли?
Цитата Сообщение от Jylik Посмотреть сообщение
Хочу при нажатии "кнопки" открывать (внешний)файл с настройками
Что в данном случае вы подразумеваете под словом "открыть"? Открыть файл на чтение? Вряд ли это, мне кажется.
Цитата Сообщение от Jylik Посмотреть сообщение
Который бы содержал информацию об объектах и их расположении
Что за объекты? Какие расположения?)

Я не стебусь, если что. Просто на самом деле хотелось бы иметь вначале более подробное представление о сути проблемы.
0
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
15.11.2016, 10:21  [ТС] 3
novikov.ea, Да, почти. Только созданный. Но и сама по себе программа имеет только внешний вид.
Кнопку "открыть" и "закрыть".
Да, надо прочесть внешний файл. В нём должна быть информация об объектах, что и в каком месте должно отобразится на странице. "Например если это ТекстБлок":
XML
1
<TextBlock Name="txt1" Grid.Column="0" Grid.Row="0" Text="{Binding bin1}"/>
То-есть мне необходимо на вновь созданном (голом) NewPage.xaml Создать <Grid/> указать его количество строк и столбцов, Создать <TextBlock/> указать строки и столбцы в которых он находится, а так же указать его значения.

И всё это должно читаться из внешне лежащего файла.

Это как программа, открывающая в себе программы....

Добавлено через 13 минут
novikov.ea, не знаю. Может иду не в том направлении....
Ключевым моментом является "Это как программа, открывающая в себе программы...."
0
Эксперт .NET
1838 / 1346 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
15.11.2016, 10:54 4
Ну, я вижу два решения этой задачи:
1) Содержать в файле xaml разметку, вычитывать её и создавать UI с помощью метода XamlParser.Parse. Но этот подход подойдёт только в том случае, если у UI нет никакой логики. Только отображение информации.
2) Реализовать модульное приложение. В качестве фреймворка могу предложить PRISM, который поддерживает возможность разработки модульных приложений (вот ещё статья на эту тему). Суть будет сводиться к тому, что определённые части приложения будут заключены в dll-ки. Приложение может находить в определённой папочке эти dll-ки, загружать из них информацию и отображать UI с логикой, заключённые в эту dll-ку.
0
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
15.11.2016, 11:40  [ТС] 5
novikov.ea, Вот второй способ более интересен. Спасибо, буду ломать голову в этом направлении....

Добавлено через 42 минуты
novikov.ea, не, чёт не догоняю. Можно пример? На основе простого кода...
<button Click="click1"/>
<TextBox Name="txtB1"/>
<TextBlock Text=""/>
0
Эксперт .NET
1838 / 1346 / 427
Регистрация: 10.06.2011
Сообщений: 2,126
15.11.2016, 13:43 6
Я же уже вам скинул ссылку на пример на основе кода. Если хотите, вот примеры на github от чуваков, которые поддерживают PRISM

Добавлено через 1 минуту
Вот если хотите, у них есть совсем простой пример приложения Hello World из одного модуля
1
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
15.11.2016, 14:23  [ТС] 7
novikov.ea, ....а как скачать?
0
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
15.11.2016, 14:26 8
Jylik, там же ссылка есть.
1
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
16.11.2016, 09:23  [ТС] 9
Usaga, спс, не нашел)

Добавлено через 16 часов 41 минуту
novikov.ea, сложная тема, есть проще пример?

Добавлено через 1 час 38 минут
Usaga, хочу проще метод)
0
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
16.11.2016, 09:34 10
Jylik, это задача простым способом не решается. Либо внешний XAML-файл, оформленный по всем правилам XAML. Либо ручной парсинг кастомного (самопального) файла с настройками и ручное же (в коде) воссоздание дерева контролов в отдельном окне. Либо модульная архитектура (на примере того же PRISM, но не обязательно).

Если "файл с настройками" планируется править (изменять) без перекомпиляции программы, в ручную или ещё как, то последний вариант (про PRISM и ему подобные вещи) не поможет.

Если ты чётко и полно изложишь задачу стоящую перед тобой, то, возможно, можно будет найти решение кардинально отличающееся от того, что хочешь сделать ты, причём в лучшую сторону.
0
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
16.11.2016, 10:23  [ТС] 11
Usaga, Хочу сделать программу. Которая бы имела возможность подключать дополнительные "модули" через Длл.... это совсем отдельные программы со своим функционалом, способные интегрировать с главным окном.
0
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
16.11.2016, 10:27 12
Jylik, тогда только CompositeUI: PRISM, Caliburn.Micro, LightMVVM и тому подобное.
1
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
16.11.2016, 11:40  [ТС] 13
Usaga, Чтоб использовать "Prism" необходимо качать что-то, или оно есть уже в VS ?
0
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
16.11.2016, 11:45 14
Jylik, чтобы использовать PRISM, нужно немного о нём почитать.
1
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
16.11.2016, 11:57  [ТС] 15
Usaga, ненавижу читать! Но всё равно, спасибо.
придётся потратить чуточку своего бесценного времени.
0
Эксперт .NET
12081 / 8389 / 1282
Регистрация: 21.01.2016
Сообщений: 31,601
16.11.2016, 11:58 16
Цитата Сообщение от Jylik Посмотреть сообщение
ненавижу читать!
У тебя вариантов нет. Прямую загрузку в мозг пока ещё не изобрели.
0
109 / 50 / 14
Регистрация: 06.03.2012
Сообщений: 810
16.11.2016, 12:37  [ТС] 17
Usaga, учусь программированию основываясь на живом коде. Не одной книжки не прочитал, нигде не учился.
0
Usaga
16.11.2016, 12:39     Как сохранить и загрузить объекты в WPF?
  #18

Не по теме:

Jylik, молодчина :D

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.11.2016, 12:39

[WPF] как загрузить названия шрифтов в ComboBox
как загрузить названия шрифтов в ComboBox?? Способ которым загружал в WinForms тут не работает...

Как в WPF загрузить форматированный Word-овский текст
Как в WPF загрузить Word-овский текст без потери форматирования выделенных фрагментов – их цветов,...

[WPF] Как в RichTextBox загрузить .pdf документ? (или ему подобный)
Собственно вопрос в топике. Раньше с Windows Form я брал и делал так:...

Как сохранить значение контроллов WPF
Добрый день, как можно организовать сохранение контроллов?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru