會特地發文,是因為我在A視窗要開B視窗的時候... 「系統完全不認識B視窗!」
※藍字的部分,基本上是因人而異,所以請自行代換內容
通常,只要給這樣就能開啟一個新的視窗 (「SettingDialog」是我寫好的xaml檔)
SettingDialog sd = new SettingDialog(); |
※小複習:「window.Show();」是開啟獨立的視窗,「window.ShowDialog();」是開啟關聯性強的視窗在用。
不過... 馬上就發現... 我找不到「SettingDialog」可以new,反而是有個不知哪冒出來的「Windows2」可以new,當下真的一頭霧水。
於是我就對整個專案搜尋「Windows2」這個關鍵字,這才發現「重新命名」時,才發現至少有兩個檔案也要跟著改動,改動的先後順序不要緊。
●第一個檔案【SettingWindow.xaml】
(X) |
<Window x:Class="RPG_Guild.Windows2" |
(O) |
<Window x:Class="RPG_Guild.SettingWindow" |
●第二個檔案【SettingWindow.xaml.cs】
(X) |
public partial class Windows2: Window { public Windows2() { |
(O) |
public partial class SettingWindow: Window { public SettingWindow() { |
●如果重新命名的是「起始視窗」,那要記得去看「App.xaml」的設定,確認Application這個Node下的起始頁面
(X) |
StartupUri="Windows1.xaml" |
(O) |
StartupUri="MainWindow.xaml" |
Windows Presentation Foundation,簡稱
WPF。
維基百科這邊請。
是個微軟打算做為WinForm後繼的開發視窗的方式,幾乎可以照搬WinForm的後台邏輯運算。
不過,以上都不是這篇的重點,但是做為小屋第一篇WPF,還是簡單說一下
以版面設計來說,WPF真的比WinForm好上不少,真的能讓前台跟後台完全切開來
只是對開發時都習慣拖拉WinForm控制元件的人而言,會超級痛苦就是了
對我這種習慣用xml結構去排版的人來說,非常容易上手,而IDE做的也不錯,找個關鍵字打打就能輕鬆找到我要的美化效果。
- 排列元件時,我傾向用StackPlane去包。只要用雙層StackPlane就能拚出看起來很規矩地控制項而不用設定座標。
- 要展開/收和區域時,我傾向用Expander去包。通常Expander都會再包StackPlane,可以省去計算位移。