Макет магазина WPF в ресурсах - PullRequest
0 голосов
/ 13 апреля 2009

У меня есть приложение, в котором границы окна по умолчанию отключены

Определение тега окна выглядит следующим образом:

<Window x:Class="TEA.UI.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Title" WindowStyle="None" AllowsTransparency="True" Background="Transparent">

Внутри тега Window есть панель Grid, она содержит несколько прямоугольников и несколько других сеток.

Это выглядит так:

<Grid>
    <!-- WINDOW BACKGROUND -->
    <Rectangle Stroke="#FF214E80" RadiusX="3" RadiusY="3" ClipToBounds="True">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#FF193C6C" Offset="0"/>
                <GradientStop Color="#FF2A65A4" Offset="1"/>
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>
    <!-- // WINDOW BACKGROUND -->

    <!-- HEADER HIGHLIGHT2 -->
    <Rectangle HorizontalAlignment="Stretch" Margin="2,2,2,0" VerticalAlignment="Top" Height="62" RadiusX="2" RadiusY="2">
        <Rectangle.Fill>
            <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0">
                <GradientStop Color="#00193C6C" Offset="1"/>
                <GradientStop Color="#4C96ABC3" Offset="0"/>
            </LinearGradientBrush>
        </Rectangle.Fill>
    </Rectangle>
    <!-- // HEADER HIGHLIGHT2 -->
<Grid>
    ....
</Grid>

Эти прямоугольные формы используются и в других диалоговых окнах.

Мои вопросы:

Как можно было бы хранить эти повторяющиеся треугольники в словаре ресурсов WPF?

Как бы я мог ссылаться на них?

Ответы [ 2 ]

1 голос
/ 14 апреля 2009

На самом деле решение было довольно простым WPF UserControl сделал свое дело для меня

0 голосов
/ 13 апреля 2009

Вы можете создать стиль в своем словаре ресурсов для этих элементов с установщиками для каждого свойства - один включен ниже.

<Style TargetType="{x:Type Rectangle}" x:Key="WindowBackground">
  <Setter Property="Stroke" Value="#FF214E80"/>
</Style>

Тогда в вашем окне вы можете ссылаться на стиль как таковой.

<Rectangle Style="{StaticResource WindowBackground}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...