我有一個帶有菜單欄和狀態欄的主要WPF窗口。我希望這個窗口充當MDI窗口。我想從菜單欄下方將整個區域定義到狀態欄上方,我將在其中顯示其他窗口。我想定義一個類似頁面或面板的東西。當我添加一個新的WPF表單時,我希望它出現在主窗口中包含的這個位置上。這個怎麼做?將頁面代碼保存在單獨的文件中
1
A
回答
0
簡易版:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="File"/>
<MenuItem Header="Edit"/>
<MenuItem Header="Help"/>
</Menu>
<StatusBar DockPanel.Dock="Bottom"/>
<ContentControl Name="_content"/>
</DockPanel>
</Window>
和代碼隱藏:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
public object MainContentGoesHere
{
get { return _content.Content; }
set { _content.Content = value; }
}
}
然後在你的代碼,只需要一個主窗口的引用 - 和使用MainContentGoesHere屬性注入的意見。只要記住使用UserControls,Panels或ContentControl而不是Window,那麼當您注入它們時,Window不能有父級。
如果你想要更多的東西 - 看看CodePlex上的Prism。這對你來說可能是矯枉過正,但它實際上是一個經過深思熟慮的輕量級框架。
編輯:修正了DockPanel中Children的順序。
1
我在基本原型應用程序中使用http://wpfmdi.codeplex.com/。將用戶控件創建爲內容,然後將其封裝在一個窗口中。
雖然我從來沒有使用它的工具箱。
相關問題
- 1. 將我的輸出代碼保存到單獨的文件中?
- 2. 上傳文件代碼和mysql代碼應存儲在一個頁面還是單獨頁面中?
- 3. 將公共代碼存儲在單獨的文件中
- 4. 批量將文本列表保存到單獨的HTML頁面
- 5. FileNotFoundException將文件保存在兩個單獨的文件夾中
- 6. 將代碼放入單獨的文件
- 7. 如何將網頁的組件保存在單獨的文件中
- 8. 使用COM將單詞文件的單頁保存爲單獨文檔
- 9. 將常用功能保存在單獨的cs文件中? (C#)
- 10. 將HTMLPurifier配置保存在單獨的文件中(使用Codeigniter)
- 11. MSBuild - 將ItemGroup保存在單獨的文件中
- 12. 將結構/常量保存在單獨的頭文件中
- 13. 將Excel文件的每一列保存在單獨的文本文件中
- 14. asp.net將代碼拆分爲aspx頁面上的單獨行
- 15. 將excel文件保存到C#代碼中的csv文件中
- 16. 將代碼保存到文本文件的Java代碼
- 17. 在代碼中保存文件 - Windows 7
- 18. 將HTML源代碼保存到文件
- 19. C - 如何將自己的頭文件保存在單獨的文件夾中
- 20. 搜索列的網址,將網頁保存爲單獨的文本文件
- 21. 將頁面保存在其自己的文件夾中?
- 22. NMAP將結果保存到單獨的文件中
- 23. 寫單元測試並保存在單獨的文件夾中
- 24. 在單獨的類文件中的Android菜單代碼
- 25. 將代碼從單獨的文檔鏈接到其他頁面上工作
- 26. 將c#項目保存爲一個單獨的文本文件?
- 27. 將PHP代碼提取到單獨的文件中
- 28. 如何保存在Wordpress頁面中編寫的PHP代碼
- 29. 如何將代碼保存在一個博客頁面中,並且代碼中的代碼不會更改此博客頁面的代碼?
- 30. 將單獨文檔中的頁眉預先添加到頁面
這不是沒有MDI在WPF中的開銷嗎?商業應用程序。沒有MDI就無法想象。 WPF看起來是愛好者的玩具。 – RKh
呃..呃? WPF是一個全面的UI平臺......我可以圍繞一個WinForm應用程序運行......他們只是有一種不同的方式來實現MDI。 – Goblin
我可以在內容區域添加頁面嗎? – RKh