2010-12-21 125 views
1

我在畫布上添加了一些折線,並在此畫布上註冊了一個用於縮放的事件處理程序,但只有當鼠標正好位於折線上時,縮放才起作用。當鼠標在畫布上的其他位置時,如何進行縮放工作?Silverlight放大畫布

回答

2

您是否在畫布上設置了背景?鼠標事件通常只會在具有背景的元素上拾取。

+0

+1好答案,包括將背景設置爲「透明」的建議。 – AnthonyWJones 2010-12-21 21:35:41

1

要拿起事件帆布必須具備:

  1. 大小 - 默認情況下,畫布沒有大小(可能的0高度和寬度會更準確),但它可以有子對象這超出了它的界限。將子對象放入Canvas(與網格或其他面板不同)不會自動調整面板的大小以適應內容。
  2. 背景 - 可以是透明的(任何具有不透明度的背景=「0」或背景=「#00FFFFFF」)。

某些事件可能還需要將事件參數的Handled屬性設置爲false,以允許事件從單擊的對象(本例中爲Polyline)級聯到Canvas本身。聽起來不像你有這個問題,但我提到它,以防它稍後成爲問題。