Расширенные эффекты в WPF? - PullRequest
2 голосов
/ 07 ноября 2011

Я пытался воссоздать этот графический интерфейс исключительно в WPF, и у меня возникли проблемы:

enter image description here

  • Тень. Тень на основном элементе не отображается внутри заливки - при использовании DropShadowEffect в WPF это происходит. Пока что я не нашел решения этой проблемы.
  • Фоновые изображения - основной элемент имеет небольшой рисунок, диагональный. Но в WPF я не могу использовать такие фоновые изображения. Скорее всего, я просто что-то упустил.
  • Небольшая вставка в главном элементе (вверху) - не так легко воспроизвести.

Так что, в любом случае, я думаю, что мой вопрос в том, как я могу добиться таких эффектов в WPF?

1 Ответ

2 голосов
/ 08 ноября 2011

Надеюсь, этот фрагмент укажет вам правильное направление:

<Grid>
    <Border x:Name="Blur"
            BorderThickness="5"
            CornerRadius="5"
            BorderBrush="#7F000000">
        <Border.Effect>
            <BlurEffect Radius="8" />
        </Border.Effect>
    </Border>
    <Border x:Name="Outter"
            BorderBrush="#CCD3D3D3"
            BorderThickness="1"
            CornerRadius="5"
            Margin="2">
        <Border.Background>
            <ImageBrush Viewbox="0,0,45,38"
                        ViewboxUnits="Absolute"
                        Viewport="0,0,45,38"
                        ViewportUnits="Absolute"
                        TileMode="Tile"
                        ImageSource="<SomeImageThatIsATileOfThePattern>"
                        Opacity="0.3"
                        Stretch="Fill" />
        </Border.Background>
    </Border>
    <Border x:Name="Inner"
            BorderThickness="0,1,0,0"
            CornerRadius="5"
            Margin="2,4,2,2"
            BorderBrush="#7FD3D3D3" />
    <ItemsControl Background="HotPink"
                  Margin="11"
                  Height="21" />
</Grid>

Результат:

The result

[Я использовал общее изображение, простопоказать повторение.Исходное изображение имеет размер W50xH38 - надеюсь, что повторение будет заметным]

Поиграйте со значениями для Viewbox и Viewport, чтобы настроить его под свое изображение.

Конечно, ItemsControl не должно иметьрозовый фон и его высота не должны быть постоянными, это было сделано для демонстрационных целей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...