|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Мне нужно создать несколько форм, имеющих много общих контролов. При этом каждая из форм в дополнение к общим имеет несколько специфичных для нее контролов. Прочитал книжку про WPF и порылся в интернетах и теперь имею полную голову каши. :) Подскажите, как это правильно делается для WPF? Нужно рыть в сторону шаблонов, стилей или еще чего? Пока только есть идея сделать общий базовый класс, написанный только на C#, и в нем выписать все общие контролы, но что-то меня пугает такой путь. Как это делается правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 11:46 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Lexxxxx, тебе сначала надо выкинуть кашу из голову. ну или ждать пока тебе тут вычерпают ее :) для wpf делается обычно. делаешь свои контролы и размещаешь на всех формах. тут все схоже с winforms. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 12:12 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
AlexeiKLexxxxx, тебе сначала надо выкинуть кашу из голову. ну или ждать пока тебе тут вычерпают ее :) Кашу надо упорядочить! :) AlexeiKдля wpf делается обычно. делаешь свои контролы и размещаешь на всех формах. тут все схоже с winforms. Так в винформс я сделал бы базовую форму, а в наследников добавил бы только нужные контролы. А в впф мне что, каждую форму с нуля лепить? Как раз тут не очень похоже! Думаю должны быть какие-то подходы, ведь задача далеко не уникальна. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 13:28 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Я так понимаю что судя по молчанию ответ крайне прост и уважаемая публика просто не хочет тратить время на ответ?! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 15:01 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Lexxxxx, Тебе AlexeiK уже ответил. У тебя реально каша в голове. Создаешь контролы как обычно. Если у тебя один и тот же контрол будет в разных формах - создавай отдельно контрол и рамзмещай его. Стили и Шаблоны оставь на конец. А именно вынеси их в отдельный файл или в App.xaml. Там определи внешний вид - Style, DataTemplate, ControlTemplate и т.п. А потом с помощью ссылки на ресурсы цепляй их к контролам. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 16:23 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
unknownfromrus...Создаешь контролы как обычно. Если у тебя один и тот же контрол будет в разных формах - создавай отдельно контрол и рамзмещай его.... Ну до этого я уж и сам как нибудь бы допер. Меня интересует именно наследование форм. В винформс я создал бы класс базовой формы. Накидал на него общие контролы. И все остальные формы просто наследовали бы базовую. В WPF так тоже можно, но есть ограничение. Базовый класс не должен использовать при описании XAML. Можно конечно писать кодом, а изменения наблюдать через визуальный конструктор какой нибудь дочерней формы, но как-то это через.... Вот и интересуюсь стандартными практиками WPF в таких случаях. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 16:49 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Lexxxxx, ну так, стандартная практика, это то что тебе говорят, а не то, что ты хочешь :) это ж не winforms. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 17:11 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
AlexeiKну так, стандартная практика, это то что тебе говорят, а не то, что ты хочешь :) это ж не winforms. Дык я не против! Только мне непонятна фраза "Создаешь контролы как обычно. Если у тебя один и тот же контрол будет в разных формах - создавай отдельно контрол и рамзмещай его.". Особенно "Если у тебя один и тот же контрол будет в разных формах - создавай отдельно контрол и рамзмещай его". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 17:49 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Повторяющиеся части формы можно задать в шаблоне формы/контрола. В большинстве случаев никакого наследования не нужно. Первое, что нужно сделать - забыть о winforms раз и навсегда. Другие возможности и совсем другие подходы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 18:03 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
SeVaПовторяющиеся части формы можно задать в шаблоне формы/контрола. ... Во! Вот чуяла моя душа что к шаблонам копать тоннель во тьме невежества нужно! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.02.2012, 18:35 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Визуальное наследование - это утерянное знание древних (утеряно вместе с переставшей развиваться delphi), в которое нынешнее поколение не может. Просто не понимает, зачем это надо. Если очень нужно, придётся писать что-то своё. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2012, 22:15 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
KyubeeВизуальное наследование - это утерянное знание древних (утеряно вместе с переставшей развиваться delphi), в которое нынешнее поколение не может. Просто не понимает, зачем это надо. Если очень нужно, придётся писать что-то своё. А зачем оно надо, если без него на порядки проще и гибче? И кому? Тем, кто с ржавыми солдатиками расстаться не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2012, 23:13 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
>А зачем оно надо, если без него на порядки проще и гибче? Ну например, требуется сделать документ "такой же, только эту колонку убрать, эту покрасить красным и другой шрифт, и добавить новые колонки в 3ю и 7ю позиции". Через VI решается буквально дописыванием недостающего в дизайнере разметки. А стилями и темплейтами такое навернуть как? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 00:02 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Kyubee_>А зачем оно надо, если без него на порядки проще и гибче? Ну например, требуется сделать документ "такой же, только эту колонку убрать, эту покрасить красным и другой шрифт, и добавить новые колонки в 3ю и 7ю позиции". Через VI решается буквально дописыванием недостающего в дизайнере разметки. А стилями и темплейтами такое навернуть как? в xaml все еще проще - контекст может быть любым, добавляем все, что нужно или удаляем из шаблона. Это абстрактное - сделайте мне красиво. Попробуй это в дизайнере Delphi изобразить. . Поделись сокральными знаниями, что и как нужно красить? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 01:14 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
>в xaml все еще проще - контекст может быть любым, добавляем все, что нужно или удаляем из шаблона. >Это абстрактное - сделайте мне красиво. А зачем это абстрактное? Я описал конкретную задачу (во внутренней автоматизации половина - такие), привёл конкретное решение с VI, и спросил как то же самое делать без VI. Конкретный вопрос: как средствами xaml добавить колумн в середину грида? (Без копипасты) >Попробуй это в дизайнере Delphi изобразить. Поделись сокральными знаниями, что и как нужно красить? Зачем? Разве факт существования задачи на изображение графики как-то подтверждает/опровергает факт существования задач, в которых помогает VI? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 02:21 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Kyubee>в xaml все еще проще - контекст может быть любым, добавляем все, что нужно или удаляем из шаблона. >Это абстрактное - сделайте мне красиво. А зачем это абстрактное? Я описал конкретную задачу (во внутренней автоматизации половина - такие), привёл конкретное решение с VI, и спросил как то же самое делать без VI. Конкретный вопрос: как средствами xaml добавить колумн в середину грида? (Без копипасты) >Попробуй это в дизайнере Delphi изобразить. Поделись сокральными знаниями, что и как нужно красить? Зачем? Разве факт существования задачи на изображение графики как-то подтверждает/опровергает факт существования задач, в которых помогает VI? Для гридов никакого наследования не нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2012, 10:07 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
А можно задать здесь вопрос, немного отличный от темы, но похожий?) Можно ли сделать некий базовый класс для всех окон? типа: public abstract class BaseWindow: Window а все окна наследовались бы от него. Просто вылетает ошибка, что классы окон partial, и вторая часть содержится в дизайнере. А меняя там базовый класс с Window на BaseWindow, ошибка все равно остается( просто хотелось бы для всех окон вынести один общий обработчик событий(например клика мыши). А так тупо копипаст получается) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2012, 08:04 |
|
Снова о наследовании форм.
|
|||
---|---|---|---|
#18+
Sky Dragon, в XAML укажите что окно BaseWindow а не Window. Вот так: Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2012, 09:39 |
|
|
start [/forum/topic.php?desktop=1&fid=21&tid=1441907]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 310ms |
total: | 445ms |
0 / 0 |