Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > WPF и Silverlight > Наследование Window в WPF


Автор: Fomaa 20.1.2009, 17:53
Добрый день,

я создал один свой класс BForm наследника от Window.
Как мне создавать классы формы от BForm?

Автор: Alekz 26.1.2009, 11:17
Основной вопрос: зачем это нужно.
Технически - все не сложно:

1. Пишешь свой базовый класс, наследуемый от Window
2. В студии добавляешь в свой проект окно, и правишь разметку:
Код

<src:MyWindowBase x:Class="WpfApplication1.WndChild" 
...

xmlns:src="clr-namespace:WpfApplication1"
             
    Title="WndChild" Height="300" Width="300">
    <Grid>
...        
    </Grid>
</src:MyWindowBase>

где нужно указать сборку, содержащую базовое окно
честно сам сильно не ковырял, но студия лепит окну  публичный (и не виртуальный) метод InitializeComponent(), так чот если оба окна добавлены через Project->AddItem, то нужно будет еще думать, как это все собрать. - я только начал с ВПФ. Извините, кого обманул.
В code behind части класса каждого из окон создается метод InitializeComponent().

3. В коде окна-наследника поменять базовый класс


Подробнее http://geekswithblogs.net/lbugnion/archive/2007/03/02/107747.aspx

Автор: Fomaa 2.2.2009, 18:45
получается наследуется все, где нет xaml

Автор: Alekz 3.2.2009, 11:27
Цитата(Fomaa @ 2.2.2009,  18:45)
получается наследуется все, где нет xaml

Получается да)
Это особенности XAML и code behind.

http://en.csharp-online.net/XAML%E2%80%94Code-Behind_Class подробнее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)