Как установить изображение .PNG в качестве фонового изображения TILED для моей формы WPF? - PullRequest
16 голосов
/ 12 ноября 2009

Я изучаю WPF самостоятельно и, похоже, не могу найти способ сделать эту работу.

Вот мой код:

<Window x:Class="Test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Test" Height="600" Width="800" >
<DockPanel>
    <Menu DockPanel.Dock="Right"
          Height="30"              
          VerticalAlignment="Top"
          Background="#2E404B"
          BorderThickness="2.6">
        <Menu.BitmapEffect>
            <DropShadowBitmapEffect Direction="270" ShadowDepth="3" Color="#2B3841"/>
        </Menu.BitmapEffect>                          
    </Menu>
</DockPanel>

Как сделать так, чтобы мозаичное фоновое изображение появилось?

Ответы [ 2 ]

50 голосов
/ 29 июня 2011

Установите ViewportUnits на абсолютное значение, что позволит вам определить размер пикселя вашего изображения в окне просмотра. В моем примере размер изображения 32х32.

<Window.Background>
    <ImageBrush ImageSource="image.png" TileMode="Tile" ViewportUnits="Absolute" Viewport="0,0,32,32"/>
</Window.Background>
26 голосов
/ 13 ноября 2009

Или, возможно, вы могли бы использовать Визуальная кисть :

<Window
    x:Class="Test.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Test" Height="600" Width="800">
  <Window.Background>
    <VisualBrush TileMode="Tile" Viewport="0,0,0.5,0.5">
      <VisualBrush.Visual>
        <Image Source="image.png"></Image>
      </VisualBrush.Visual>
    </VisualBrush>
  </Window.Background>
</Window>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...