2011-02-28 62 views
2

我有一個需要使用各種大小的自定義圖像的圖形背景的畫布,但我想將背景圖像的高度和寬度綁定到某處的某些屬性。現在我有一個圖像顯示爲背景,但其大小是固定的。事實證明,圖像和圖像刷的寬度和高度屬性是隻讀的。無論如何要綁定寬度和高度?畫布背景的綁定大小

p.s我已經嘗試了視口,但它使用了一個矩形對象,它的寬度和高度不是依賴屬性。然後我嘗試使用視口中的一個圖塊並將它放在一個矩形中,然後我可以調整矩形的大小以實現我想要的效果,但我無法弄清楚如何將矩形放置爲畫布的背景。有任何想法嗎?提前致謝。

回答

3

一個簡單的方法是使用VisualBrush作爲Canvas的背景。拉伸設置爲無,然後綁定寬度和ImageVisual

<Canvas ...> 
    <Canvas.Background> 
     <VisualBrush Stretch="None"> 
      <VisualBrush.Visual> 
       <Image Source="SomeSource" 
         Stretch="Fill" 
         Width="{Binding ...}" 
         Height="{Binding ...}"/> 
      </VisualBrush.Visual> 
     </VisualBrush> 
    </Canvas.Background> 
    <!--...--> 
</Canvas> 
+0

謝謝,我簡直不敢相信這是簡單的..我有可視化刷,視口,圖像刷和噸的東西,明白了工作,但不像這樣簡單。謝謝。 – 2011-02-28 19:46:13

1

不能說我設法跟隨你想要做什麼,但你可以使用VisualBrush來把矩形作爲畫布的背景。

我確信你正在做的事情可以很容易地解決 - 但我真的不明白你在做什麼。

+0

對不起身高我真的不知道如何將這種更清楚地解釋。我想簡單地說,我試圖在運行時使用綁定動態調整畫布背景圖像 – 2011-02-28 16:30:21