带有内容的WPF新窗口

时间:2013-04-25 11:13:47

标签: c# wpf

我希望在现有的主要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

2 个答案:

答案 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窗口:

  1. 项目 - &gt;添加新项目 - &gt;窗口(WPF)
  2. 恰当地命名窗口(这里我使用ConnectWindow.xaml
  3. 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>
    

    您可以根据需要自定义WindowTextBox

  4. 有几种方法可以显示窗口。

    显示模态窗口(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();