Информация об изменениях

Сообщение Re[7]: Декларативный UI и наследование - опаньки! от 22.11.2021 13:45

Изменено 22.11.2021 14:28 Mr.Delphist

Re[7]: Декларативный UI и наследование - опаньки!
Здравствуйте, Kolesiki, Вы писали:

K>Банда, банда.... КАК унаследовать WPF-ное окно? Ответ будет?


Так давали уже где-то в параллельной ветке ответ: всё наследуется, если мухи отдельно и котлеты отдельно.
1) Создаём нужную иерархию окон в CS-файлах для описания бизнес-логики
class SuperDuperWin : Window {...}
class ParaTruperWin : SuperDuperWin {...}


2) создаём нужные стили в XAML для описания внешнего вида (которые можно применить на target-класс или любой наследник)
<Style x:Key="SuperDuperStyle" TargetType="SuperDuperWin">...</Style>

<ParaTruperWin x:Class="oh_shi_HereWeGoAgain" Style="SuperDuperStyle">
...


...
Профит!

А если хочется "вот такое же окно но с кнопками Yes/No/Cancel вместо Yes/No в стиле наследования Delphi DFM, то ничего не поделаешь — такого в WPF действительно нет. Потому что вместо молотка и отвёртки здесь есть полный комплект инструментов. Надо лишь начать ими пользоваться.
Re[7]: Декларативный UI и наследование - опаньки!
Здравствуйте, Kolesiki, Вы писали:

K>Банда, банда.... КАК унаследовать WPF-ное окно? Ответ будет?


Так давали уже где-то в параллельной ветке ответ: всё наследуется, если мухи отдельно и котлеты отдельно.
1) Создаём нужную иерархию окон в CS-файлах для описания бизнес-логики
class SuperDuperWin : Window {...}
class ParaTruperWin : SuperDuperWin {...}


2) создаём нужные стили в XAML для описания внешнего вида (которые можно применить на target-класс или любой наследник)
<Style x:Key="SuperDuperStyle" TargetType="SuperDuperWin">...</Style>


3) агрегируем бизнес-логику и внешний вид:
<ParaTruperWin x:Class="oh_shi_HereWeGoAgain" Style="SuperDuperStyle">
...


...
Профит!

А если хочется "вот такое же окно но с кнопками Yes/No/Cancel вместо Yes/No в стиле наследования Delphi DFM, то ничего не поделаешь — такого в WPF действительно нет. Потому что вместо молотка и отвёртки здесь есть полный комплект инструментов. Надо лишь начать ими пользоваться.