带内容的WPF新窗口
本文关键字:窗口 新窗口 WPF | 更新日期: 2023-09-27 18:10:55
我想在现有的主窗口旁边创建一个带有可滚动文本框的新窗口。
我在主窗口中按下"打开新窗口"按钮,然后它应该打开一个带有可滚动文本框的新窗口。
inside form2
在WPF中,你可以在主窗口中拖放元素,但不能在新窗口中这样做。所以我认为只有当你在MainWindow.xaml.cs
中创建一个新窗口时才有可能我可以创建一个新的窗口:
private void btnConnect_Click(object sender, RoutedEventArgs
{
Form form2 = new Form();
//Do intergreate TextBox with scrollbar in form2
form2.Show();
}
现在我想要一个文本框
但是我如何在c#或WPF中做到这一点?
Thx
嗯…你可以创建一个新的窗口,并加载到这个窗口。内容:在新的XAML中创建的UserControl。例子:
NewXamlUserControl ui = new NewXamlUserControl();
MainWindow newWindow = new MainWindow();
newWindow.Content = ui;
newWindow.Show();
Xaml可以像这样
<UserControl x:Class="Projekt"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="newXamlUserControl"
Height="300" Width="300">
<Grid>
<TextBox Text = ..../>
</Grid>
</UserControl>
在项目中创建一个新的WPF窗口:
- Project -> Add New Item -> Window (WPF)
- 适当地命名窗口(这里我使用
ConnectWindow.xaml
) -
添加
TextBox
到XAML<Window x:Class="WpfApplication1.ConnectWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Connect" Height="300" Width="300" ShowInTaskbar="False"> <TextBox AcceptsReturn="True" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"/> </Window>
您可以自定义
Window
和TextBox
。
有几种显示窗口的方法。
显示一个模态窗口(this
指的是主窗口):
var window = new ConnectWindow { Owner = this };
window.ShowDialog();
// Execution only continues here after the window is closed.
显示非模态子窗口:
var window = new ConnectWindow { Owner = this };
window.Show();
显示另一个顶层窗口:
var window = new ConnectWindow();
window.Show();