[WPF]Как наследовать диалоги и получать события от модальных
От: Аноним  
Дата: 03.02.11 04:46
Оценка:
Допустим создан типовой диалог в котором реализована необходимая инициализация.

Как описать потомка, в коде вроде бы все нормально, а вот в Xamlе начинаются проблемы с объявлением, точнее после того как пишешь в коде

public partial class DerivedType : BaseType
{
..
}

ругается что partial class в разных местах объявлен по разному.



И такая проблема возникла допустим есть модель подобие MVC , в контроллере вызывается модальный диалог


var dlg = new SomeDlg();
dlg.ShowModal();


в нем производятся выбор действия — нажатие на кнопку, которое должно сообщить контролеру что необходимо вызвать другой диалог ( без закрытия модального ).
как такое лучше организовать
Re: [WPF]Как наследовать диалоги и получать события от модал
От: HowardLovekraft  
Дата: 03.02.11 08:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Допустим создан типовой диалог в котором реализована необходимая инициализация.

А>Как описать потомка
А зачем наследовать именно диалог?
Почему не использовать контролы, которые встраиваются в диалог и используют общую инфраструктуру?

А>И такая проблема возникла допустим есть модель подобие MVC , в контроллере вызывается модальный диалог

А>в нем производятся выбор действия — нажатие на кнопку, которое должно сообщить контролеру что необходимо вызвать другой диалог
Недавно озадачивался подобным вопросом, в том числе задавал вопрос здесь.
Все, что наковырял, в итоге можно свести вот к этой заметке. Я в итоге использовал подход с сервисом и MEF в качестве контейнера.
Re: [WPF]Как наследовать диалоги и получать события от модал
От: Codechanger Россия  
Дата: 03.02.11 08:45
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Допустим создан типовой диалог в котором реализована необходимая инициализация.


А>Как описать потомка, в коде вроде бы все нормально, а вот в Xamlе начинаются проблемы с объявлением, точнее после того как пишешь в коде


Наследовать диалоги — плохая практика. Нормальная практика — написать одно диалоговое окно, и в нем показывать разные контролы. Хорошая практика — показывать не контролы, а объекты в ContentPresenter с помощью шаблонов.


А>И такая проблема возникла допустим есть модель подобие MVC , в контроллере вызывается модальный диалог


А>

А>var dlg = new SomeDlg();
А>dlg.ShowModal();
А>


А>в нем производятся выбор действия — нажатие на кнопку, которое должно сообщить контролеру что необходимо вызвать другой диалог ( без закрытия модального ).

А>как такое лучше организовать

Тут ключевые слова ICommand,RoutedCommand.

Вообще, если начинают возникать подобные вопросы при разработке, рекомендую внимательно следить за тем, что вы делаете и куда это вас может завести.
В вашем случае, например, налицо типичное смешивание логики работы приложения и отображения, что не есть хорошо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.