Появился ряд вопросов при изучении WPF, надеюсь получить на них ответы:
- Вопрос, касающийся стилизации нескольких окон - вот есть 2 окна в приложении, каждое из окон имеет одинаковый стиль окна (стилизованные кнопки закрыть, свернуть и т.д), можно ли как-то вынести всю это стилизацию в отдельный файл ресурсов xaml и просто задать каждому из окон этот стиль:
<Window x:Class="example" Style="Мой стиль"/>
Я так пытался сделать, но столкнулся с проблемой, что те компоненты, что расположены на главном окне также унаследует и второе окно, то есть если на первом размещен компонент textbox, то на втором также будет этот textbox.
UPD: чтобы все работало, нужно добавить ContentPresenter в файле, где у вас прописан стиль для окон, что-то типо такого:
<Style x:Key="WindowStyle" TargetType="{x:Type Window}">
<Setter Property="Template" x:Name="dsd">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Window}">
<Grid>
...
<ContentPresenter/> <!--элементы, которые вы будете добавлять на форму будут вставляться в этот участок кода-->
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Правильно ли так?
- Второй вопрос: оба окна имеют одинаковые методы, связанные с передвиганием окна за верхнюю панель, можно ли вынести их в отдельный абстрактный класс и наследоваться от него? прочитал, что в таком случае оба класса, которые будут наследоваться от него, должны быть без xaml.
Спасибо заранее)