2016-09-16 16 views
-1

私は自分のWPFアプリケーションの画像の背景を実験したかったのです。私はいくつかのテクスチャをダウンロードしましたが、残念ながら私は問題があります。 は、ここに私のXAMLです:タイルの背景 - タイルの間の黒いスペース

<Window x:Class="WpfApplication1.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     Title="MainWindow" Height="458" Width="473"> 
    <Window.Background> 

     <VisualBrush TileMode="Tile" Viewport="0,0,0.5,0.5" Stretch="None"> 
      <VisualBrush.Visual> 
       <Image Source="Images/binding_dark.png" Stretch="None"> 
        <Image.OpacityMask> 
         <ImageBrush ImageSource="Images/binding_dark.png" Stretch="None" TileMode="Tile"/> 
        </Image.OpacityMask> 
       </Image> 
      </VisualBrush.Visual> 
     </VisualBrush> 
    </Window.Background> 
    <Grid> 

    </Grid> 
</Window> 

それはちょうど空のウィンドウのですが、それはちょうど良く、問題が何であるかを見るためです。ここで の結果です: Weird spacings

私は私のアプリのバックグラウンドとして素敵なテクスチャを取得したいが、画像が互いに整列しない何らかの理由 - それらの間のこの奇妙な黒い間隔があります。これの理由は何ですか?ただ、明確にする

// EDIT : 私は、同じ画像のタイル張りのコピーの多くの構築されたバックグラウンドを持っているしたいのですが - ウィンドウ全体に

答えて

1

はスペースなしでタイル張りの背景を得るためにであることはよく分かりません追加する:Stretch="Uniform"

また、ビューポート単位を絶対およびサイズに設定する必要があります。以下のコードでは、あなたのイメージのサイズに32を変更します。

ViewportUnits="Absolute" Viewport="0,0,32,32" 

全コード:

<Window.Background> 

<ImageBrush ImageSource="/TestApp;component/Images/bg.png" ViewportUnits="Absolute" Viewport="0,0,32,32" Stretch="Uniform" TileMode="Tile" /> 

</Window.Background> 
0

を満たしていない1 imgageはの背景を設定するようにしてくださいこのようなグリッドではなく、窓、:

<Grid> 
    <Grid.Backgroud> 
     <ImageBrush Source="Images/binding_dark.png" x:Name="image" Stretch="UniformToFill"/> 
    </Grid.Background> 
</Grid> 

あなたはウィンドウ全体の背景を設定することができますが、私は、これは良い練習があなたが必要との間

+0

を私はあなたのコードを試してみましたが、それは私が取得したい結果ではありません。私のイメージはかなり低い解像度です。私はこれらの画像のグリッドをお互いに並べて表示したいと思います。私は1つのイメージがウィンドウ全体を満たすことを望んでいません - これはピクセル化されたように見えます。 – Loreno

+0

私はTileModeの画像を「タイル」に設定しようとしましたが、何も変わりません。 – Loreno

+0

@Loreno、面白い、あなたの画像をチェックしてください。それは透明な境界を持っていないのですか?私はそれがpngだと思う – Alex

関連する問題