2011-02-09 3 views
2

В моем рабочем приложении WPF4 все окна имеют одинаковую структуру - заголовок & нижний колонтитул с некоторым основным меню и знаками авторского права; левое навигационное меню и тело (центр экрана), где я показываю данные, основную панель инструментов и т. д. Блок тела - это единственный блок, который изменяется во всех окнах, например. в окне со студентами я показываю DataGrid со студенческими данными, в окне с новой формой курса пользователь может заполнить форму и отправить ее в БД. Все это находится в разделе «Окна кузова».XAML-наследование, повторное использование кода, оптимизация

Чтобы улучшить повторное использование кода, я использую наследование кода C#, где храню все основные функции окна в GeneralWindow, а все остальные окна расширяют этот класс.

Мой вопрос: Могу ли я использовать ту же технику, чтобы уменьшить копию того же кода в XAML-части окна? На данный момент каждый класс окна имеет те же блоки кода XAML (например, левое меню, заголовок, нижний колонтитул). Как я могу уменьшить копию кода и использовать ту же технику, что и в случае с C#? Возможно ли наследование XAML-класса (.xaml), что я мог бы определить все базовые вещи в одном классе, а все остальные просто расширят/унаследуют дизайн этого класса? Это увеличит возможность повторного использования кода.

ответ

1

Вы должны создать одно окно и поместить на него рамку. Затем динамически загружайте страницы в фрейм.

См. Navigation Overview

Смежные вопросы