Круглое окно воспроизведения фильма с использованием WPF - PullRequest
3 голосов
/ 16 января 2009

Возможно ли с помощью WPF создать окно, имеющее форму круга и использующее воспроизводимый фильм в качестве фона?

Ответы [ 4 ]

4 голосов
/ 16 января 2009

Чтобы сделать непрямоугольное окно, сначала нужно сделать три вещи.

  1. Установите для Window.WindowStyle значение WindowStyle.None
  2. Установить Window.AllowsTransparency на True
  3. Установите для Window.Background значение Прозрачный (или {x: Null})

Теперь ваше окно полностью прозрачно. Вы можете использовать другие советы в этой теме, чтобы нарисовать часть носителя на геометрии окна.

2 голосов
/ 20 января 2009

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

http://blogs.msdn.com/wpfsdk/archive/2008/09/08/custom-window-chrome-in-wpf.aspx

РЕДАКТИРОВАТЬ: есть пример того, как использовать SetWindowRgn, чтобы получить закругленные углы для прямоугольных окон, если вы передаете область эллипса вместо области с закругленными прямоугольниками, вы получите эллиптическое окно, легко создать область для любую форму, которую вы можете себе представить.

2 голосов
/ 16 января 2009

Вам просто нужно добавить что-то подобное в ваш xaml:

<Ellipse Height="80" Width="80">
    <Ellipse.Fill>
        <VisualBrush TileMode="None">
            <VisualBrush.Visual>
                <MediaElement Source="myMovie.wmv" />
            </VisualBrush.Visual>
        </VisualBrush>
    </Ellipse.Fill>
</Ellipse>

На самом деле сделать окно круглым будет сложнее. Посмотрите на это , если вы хотите, чтобы окно было круглым, это должно помочь разобраться в этой части.

НТН

0 голосов
/ 16 января 2009

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

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