2017-08-28 83 views
0

道歉,如果這已被問,但我找不到答案。我有一些需要動態背景的項目(Windows,UserControls和DockPanels)。你可以在WPF中設置一個元素的背景嗎?

一個Canvas對象很適合我的動態繪圖需求,但是我無法弄清楚的是我可以如何(或者甚至可以)設置一個<Canvas>對象作爲控件對象的背景值。

可以這樣做,如果是的話,怎麼樣?

+2

看看VisualBrush。 – Clemens

+1

所以你想要把'Canvas'(和它裏面的所有元素)作爲另一個'Control'的背景嗎? – XAMlMAX

回答

1

是的,你可以做到這一點。

<Window.Background> 
    <VisualBrush> 
     <VisualBrush.Visual> 
      <Rectangle Width="50" Height="50" Fill="Red"></Rectangle><!-- Replace this with a reference to your Canvas--> 
     </VisualBrush.Visual> 
    </VisualBrush> 
</Window.Background> 

代碼從this site引用是有很多,你可以與背景做的一樣好。像一套剪裁等...
注意
因爲你沒有指定你正在開發它的語言,我在我即用即C#語言提供答案,我不使用VB

+2

讓我微笑......一個純XAML答案,關於VB.Net與C方面的說明# – grek40

+0

我相信這是答案。我在幾個方向被撕裂。當我有機會時,我會確認。 – RLH

+0

我會給這個upvote。錯誤使我無法返回相關的代碼。爲了清楚起見,我可以在'中放置一個'',還是''區域基本上是一個畫布式對象? – RLH

0

你想設置一個控件的背景屬性與一個畫布的「內容」已經填充元素? 如果是這樣,是的;您可以完成此任務,從您的Canvas創建一個畫筆。要做到這一點,你需要VisualBrush類。在VB.NET中,使用這樣的:

Dim oBrush As New VisualBrush(myCanvas) 
myControl.Background = oBrush 

祝好運,代碼

相關問題