WPF应用程序在一个窗口中



我是WPF中的新手,想创建像cookbook这样的wpf应用程序。我已经完成了此操作,并且应用程序正常工作。但是我以这种方式做到了:

第一个屏幕显示按钮,该按钮打开了新的窗口来做某事。结果,我有14个不同的窗口。没关系,但是现在我想以其他方式进行。

我正在尝试制作一个窗口,这将在开始时显示并更改内容。我在两个网格上划分了窗户。首先是静态的,并放在底部。它包含表示程序功能的按钮。第二个将是动态的。我想在那里显示每个窗口的内容。因此,我想更改此面板的内容,而不是创建新窗口。

我尝试制作 *.cs文件,该文件将在代码,函数和数据中创建控件。但是我的想法不是成功的,我不知道该怎么做。

我想创建应用程序,它将像这样起作用: - 如果单击按钮"添加收据",则应用将显示控件以添加名称,成分并在末尾保存。 - 如果您clik" show receip",则将用成分列表替换

和等。

我希望你能理解我。

您可以创建一个帧而不是第二个网格。框架使您可以在框架本身中显示页面,而不是在框架本身中显示的页面。您可以像

一样将框架导航到页面
mainFrame.Source = new Uri("Page1.xaml",UriKind.Relative);

这将框架更改为您的页面。如果您想再次更改页面,则可以再次更改源。

注意:您可以将标签添加到" ShowReceip"之类的按钮中,您只需为按钮做一个按钮即可事件。代码看起来像这样。

mainFrame.Source = new Uri((sender as Button).Tag.ToString() + ".xaml",UriKind.Relative);

在单击按钮的标签上,在其上添加字符串" .xAML"并将其放在源部分上。因此,如果您的标签是" Page1",源将看起来像" Page1.xaml"作为我的解决方案。

感谢尝试,希望您正在寻找WPF用户控件,而不是为单独的窗口。用户控件与Windows相似,您可以在用户控件中创建UI和功能。我想建议您按以下方式设计主窗口:

<Grid>
    <Canvas Name="canFunctionalButtons">
        <!--Define the buttons inside this canvas
        And allocate proper place for this in the UI
        -->
    </Canvas>
    <Canvas Name="canControlContainer">
        <!--This is to display the user control
        Which can be changed dynamically according to the Button's click
        -->
    </Canvas>
</Grid>

然后,您必须为这些按钮添加单击事件,该按钮将将特定的用户控件添加到canControlContainer画布中。将用户控件添加到此画布的一个示例如下,令btnAddSomething为一个按钮,btnAddSomething_Click是单击事件,然后您可以执行以下操作:

private void btnAddSomething_Click(object sender, RoutedEventArgs e)
{
    canControlContainer.Children.Clear(); // will remove previous contols from this canvas
    // UC_AddSomething be the user control that you wanted to add here
    canControlContainer.Children.Add(new UC_AddSomething());
}

相关内容

  • 没有找到相关文章

最新更新