這個系列會將我學習WPF時所遇到的疑難雜症一一紀錄下來。
- 控制項(應該吧= =)的MouseMove、MouseEnter與MoveLeave事件。若物件為無填色,則這些事件並不會觸發。 (應該是其他需要WindowMessage的事件都收不到但是小弟沒哪麼多時間測試)。
- 解法:將控制項的背景色設定透明色,無填色和透明色雖然看起來一樣,但是對系統來說是不同的。
- 漸層填色的StartPoint與EndPoint。
- 這個屬性使用方式與Point很像。
- 一個矩型的右上角為(0,0)右下角為(1,1)無視矩型的長與寬。
- 中點則為(0.5 ,0) 與(0.5 ,1)。
- Form 與 Window (一)
- ShowDialog問題,若是使用Form使用ShowDialog函式開啟Window,行為會與原本的不同。如:傳統的Form開啟Form時,將Modal視窗關閉時,父視窗也應一併關閉。但用Form開啟Window時則沒有這種效果。原因出在我們無法設定Window的Owner屬性,因為Window的Owner屬性是System.Windows.Window 。Form的類別是System.Windows.Forms.Form 。
- 解法:使用WindowInteropHelper類別,這個類別位於System.Windows.Interop 的命名空間中。
- Code:Window1 w = new Window1(); WindowInteropHelper helper = new WindowInteropHelper (w);
helper.Owner = this.Handle;
w.ShowDialog();
- Form 與 Window (二)
- 問題:拉了老半天的Window用Form開啟之後,畫面卻看不見。
- 解法:老實說,我也沒時間研究為什麼這個方法就可以。但是先解了再說。
- Code:
Window1 w = new Window1();
w.InitializeComponent(); //呼叫這個函式即可。WindowInteropHelper helper = new WindowInteropHelper(w);
helper.Owner = this.Handle;
w.ShowDialog();
沒有留言:
張貼留言