簡體   English   中英

主窗口內的C#WPF子窗口

[英]C# WPF Child Windows inside Main Window

因此,iv環顧了一下,發現MDI對於WPF是過時的,基本上,我想做的是在加載時在網格對象中顯示特定頁面,並且一旦從下拉菜單中選擇了菜單項,網格的內容將從另一頁更改為內容(這取決於選擇的菜單項)。

要更詳細(可能會有所幫助),將在顯示窗口的區域中使窗口沒有邊框,標題或最小化/關閉按鈕等。僅顯示此窗口的內容,不會調整大小,而是固定的,我有一個菜單,正如我之前所說,當單擊不同的菜單項時,相關的窗口應顯示在固定區域中。 另外,如果在此內容內顯示的任何按鈕或事件發生(例如,按鈕導致顯示另一個窗口),則固定區域中的內容應由新窗口的內容替換

這是我第一次做這樣的事情,從我讀到的內容來看,這對於WPF應用程序來說是一件非常棘手的事情,我希望我能得到一些我應該去的見識或指導,以便我可以使這成為可能。

謝謝。

您可以嘗試使用例如Extended WPF Toolkit Community Edition中的ChildWindow

編輯#1:

但是,每當我嘗試在Xaml中創建WindowContainer時,其名稱空間前綴“ xctk:WindowContainer”都會出現問題,那么如何創建適當的名稱空間前綴來使用它呢?

您必須添加該名稱空間:

xmlns:xctk=http://schemas.xceed.com/wpf/xaml/toolkit

例如:

<Window x:Class="WpfApplication1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <xctk:WindowContainer>
            <xctk:ChildWindow Height="100" Width="250" Left="10" Top="10">
                <TextBlock Text="Hello World ..." />
            </xctk:ChildWindow>
        </xctk:WindowContainer>
    </Grid>
</Window>

編輯#2:

您當然可以更改某些屬性(例如):

<xctk:ChildWindow
                Height="100"
                Width="250" 
                Left="10" 
                Top="10"
                Name="chWindow"
                CloseButtonVisibility="Hidden"
                WindowStyle="None"
                BorderThickness="0">

編輯#3:

是的,所以在引用所有內容的情況下,仍然給我錯誤。

簡單嘗試一下...創建Wpf應用程序,添加Extended WPF Toolkit 2.4 NuGet包 ,在MainWindow.xaml中添加上一個代碼,在MainWindow.xaml.cs中添加下一個代碼:

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            this.Loaded += MainWindow_Loaded;
        }

        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {
            this.chWindow.Show();
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM