我希望在现有的主要Windwoe旁边创建一个带有可滚动文本框的新窗口。
我在主窗口中按下“打开新窗口”按钮,然后它应该打开一个带有可滚动文本框的新窗口。
在form2
在WPF中,您可以拖动主窗口中的drop元素,但不能为新窗口执行此操作。 所以我认为只有在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
答案 0 :(得分:8)
嗯......你可以创建一个新的窗口并加载到这个Windows中。内容是你在新的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>
答案 1 :(得分:7)
在项目中创建一个新的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();