powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Правильно ли я понимаю назначение DataTemplate и UserControl
25 сообщений из 37, страница 1 из 2
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699415
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!
У меня есть некоторый универсальный класс (допустим, Force), который входит в другие классы (допустим, BarForce, в котором public Force и какие-то другие свойства). Я бы хотел в окнах редактирования этих классов видеть единую панельку редактирования универсального класса. Чтобы для пользователя выглядело как будто он редактирует конкретную сущность с полным набором свойств (включая свойства Force), а не открывал отдельное окно для редактирования Force. И эту универсальную панельку включать во все окна редактирования сущностей, где есть public Force.
Правильно ли я понимаю, что мне нужен DataTemplate (который надо разместить в Application Resources), так как он предназначен для шаблона связанного с данными (в моем случае экземпляр Force). Content Template не то, так как он предназначен для шаблона контрола не связанного, в основном, с данными. А UserControl мне тоже подойдет, но его следует применять когда для контрола нужна какая-то собственная логика и/или обработка.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699448
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну да, вроде все правильно. Если разместить DataTemplate в ресурсах и не назначать ему ключ, а все свойства универсальной панельки представить в виде коллекции, пусть даже List<object> и вывести эту коллекцию в ItemsControl, то больше ничего настраивать не придется, все шаблоны для всех элементов коллекции подтянутся автоматически.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699463
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо. Т.е. если все свойства Forces одного типа (double), то можно спуститься на уровень ниже и сделать Data Template из TextBox+TextBlock и набор этих объектов разместить на ListView или другом Items контроле? Благодарю за идею, попробую.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699482
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте DataTemplate (шаблон) для базового класса и включите его в шаблон для Force
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699493
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург). Я бы хотел в окнах редактирования этих классов видеть единую панельку редактирования
Типа propertyGrid?
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699523
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Типа propertyGrid?

Можно и так попробовать - класс состоит только из небольшого числа данных одного типа double.
Вроде логично сделать отдельное окно для редактирования Force, но и так много окон и пользователи жалуются, что много между окнами приходится переключаться. Хочется чтобы в одном окне было, но повторять для каждой базовой сущности эту панельку как-то глупо. Если сделать шаблон - тогда потом и в отдельное окно можно будет быстро вынести.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699532
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну для модели Force отдельный шаблон.

Внутри модели можно завести свойство что-то типа
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
public List<Parameter> Parameters { get; set; }

public class Parameter
{
  public int Id { get; set; }
  public string Label { get; set; }
  public double Value { get; set; }
}


Завести отдельный шаблон для Parameter, а внутри шаблона для Force
Код: xml
1.
<ItemsControl ItemsSource={Binding Parameters} />

и дело в шляпе
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699538
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург,
Дай свои классы в коде с парой свойств для примера.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699539
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Не понимаю, почему Label в модели?
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699542
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург,
Если тип одинаков, то согласен, propertyGrid лишнее.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699543
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Shocker.Pro,
Не понимаю, почему Label в модели?Очевидно, потому что это модель представления.
Мы не знаем, каким образом хранятся данные у ТС, но зачастую набор однотипных параметров вместе с их метками может подниматься даже и из БД.
А лишь привел типовой пример, а вопрос у ТС был вообще не об этом.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699546
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
ОК.
Изучаю подходы WPF
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699549
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,
Если в бд только данные, тогда как?
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699554
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Shocker.Pro,
Если в бд только данные, тогда как?Значит либо коллекция заполняется на клиенте, каким-то образом сопоставляя метки с данными, либо вообще никакой коллекции, метки прописаны в представлении, все прибито гвоздями и негибко.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699566
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Евгений, Екатеринбург,
Дай свои классы в коде с парой свойств для примера.
Примерно так
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    public class BarLoadSet : ICloneable
    {
        //Properties
        #region 
        public SteelColumnBase SteelColumnBase { get; set; }
        public String Name { get; set; } //Наименование
        public double PartialSafetyFactor { get; set; } //Коэффициент надежности по нагрузке
        public bool IsDeadLoad { get; set; }
        public bool IsCombination { get; set;}
        public bool IsDesignLoad { get; set; }
        public bool BothSign { get; set; }
        public Force Force { get; set; } //Здесь значения, которые я хочу сделать панелькой
        #endregion
...
}


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
    public class Force : ICloneable
    {
        //Properties
        #region 
        public double Force_Nz { get; set; }
        public double Force_Mx { get; set; }
        public double Force_My { get; set; }
        public double Force_Qx { get; set; }
        public double Force_Qy { get; set; }
        #endregion
...
}


Данные хранятся не в базе, а в XML, но в будущем возможно сделаю слой ответственный за БД.
Я программист-любитель, только разбираюсь в C# - не все сразу делаю правильно.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699576
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Proвсе прибито гвоздями и негибко.в корне не согласен.
Что стадию проектирования и дизайн по ГОСТ называют гвоздями.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699582
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, ЕкатеринбургДанные хранятся не в базе, а в XML,совет!
Начните с основ.
Это Модель в ОРМ и субд.
Отношения между классами.
WPF сегодня есть а завтра нету, а Модель и МV*** будет до пенсии)).
IMHO
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699584
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, ЕкатеринбургПримерно такколлекций свойств нету, поэтому шаблоны не нужны.
Просто свойства не выносят в отдельный класс. Выносят сущности.
Попробуй за часик сделать xaml без шаблонов.
И потом увидим что плохого.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699587
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Евгений, ЕкатеринбургДанные хранятся не в базе, а в XML,совет!
Начните с основ.
Это Модель в ОРМ и субд.
Отношения между классами.
WPF сегодня есть а завтра нету, а Модель и МV*** будет до пенсии)).
IMHO
У меня небольшой однопользовательский калькулятор, думаю не для всех задач нужна СУБД. Слои интерфейса и бизнес-логики у меня выделены в отдельные проекты, сущности хранятся в слое бизнес-логике. Надстройка WPF это еще один слой над слоем UI, т.е. конкретной привязки к WPF у меня нет. Вроде все правильно по архитектуре, по науке?
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699589
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В случае xml-да. Классы спокойно сериализуются и десериализуются со своими полями. Если это именно документы, которые передаются условно на флешке, а не централизованное хранилище - это удобно. Я делал что-то подобное на WPF и загружал-выгружал в xml-файлы прямо модель представления (с использованием [xmlignore]). Надо было сделать и быстро запустить. А через полгодика трахался и выделял слой модели, когда потребовалась версионность этих файликов.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699601
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург,
Тут замкнутый круг.
Сущность без субд сложно понять что это такое.
И три вида отношений тоже.
....
Проехали...
...
Зачем шаблон и userControl.
По скрину одна форма окно xaml.
?
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699607
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбург,
Правильно я понял что панелька Force у тебя в нескольких окнах программы?
На скрине это в одном месте, тогда и разговора нет.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699615
Евгений, Екатеринбург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Евгений, Екатеринбург,
Правильно я понял что панелька Force у тебя в нескольких окнах программы?

Будут и другие сущности, в которых будет свойство типа Force, и соответственно, панелька будет встраиваться и в их окна тоже. Было бы в одном месте (сейчас так и есть), то понятно что шаблон смысла нет. Но развивая программу понял, что надо бы выделить Force в отдельный класс.
Бизнес-логика такая.
Класс Force это усилие в элементе. Элемент может быть стержнем, колонной, балкой и т.п. когда программа считала только стержень, усилия были сразу в классе, который отвечал за усилия в стержне. Когда понадобилось считать еще колонны и балки, решил выделить усилия в отдельный класс.
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699622
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений, Екатеринбургпанелька будет встраиваться и в их окна тоже.
Тогда вопрос к профи, и я присоединяюсь.
Какой аналог тут для User Control винформс чтобы визуально спроектировать класс?
...
Рейтинг: 0 / 0
Правильно ли я понимаю назначение DataTemplate и UserControl
    #39699634
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Какой аналог тут для User Control винформс чтобы визуально спроектировать класс?ТС ответил тебе еще в первом сообщении
Евгений, Екатеринбургнужен DataTemplate (который надо разместить в Application Resources), так как он предназначен для шаблона связанного с данными (в моем случае экземпляр Force)...........А UserControl мне тоже подойдет, но его следует применять когда для контрола нужна какая-то собственная логика и/или обработка.
...
Рейтинг: 0 / 0
25 сообщений из 37, страница 1 из 2
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Правильно ли я понимаю назначение DataTemplate и UserControl
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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