如何将值从窗口带到WPF中的页面

时间:2013-10-03 00:11:37

标签: c# asp.net wpf xaml wpfdatagrid

我有一个WPF应用程序,它只有一个主窗口和一个IFrame,我用来打开我的WPF页面,有一个页面,点击一个按钮,我打开一个窗口,其中有一个带有一些数据的网格,

如何将“弹出窗口”窗口中​​的日期带到我的页面?

我已经尝试从窗口获取Parent元素,但它没有。

再次提前感谢!

1 个答案:

答案 0 :(得分:0)

不太确定你想要什么,但让我试试。

My MainWindow XAML:

<Window x:Class="Teste.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1*"/>
            <ColumnDefinition Width="1*"/>
        </Grid.ColumnDefinitions>
        <Button Content="New Window" Margin="0,220" Grid.Column="1" Grid.ColumnSpan="1" Click="Button_Click" />
    </Grid>
</Window>

恢复MainWindow.xaml.cs:

namespace Teste
{
    public partial class MainWindow : Window
    {
         public MainWindow()
         {
            InitializeComponent();
         }

         private void Button_Click(object sender, RoutedEventArgs e)
         {
           myWindow newWindow = new myWindow();
           var child = (TextBlock)newWindow.FindName("txtBlock");

           MessageBox.Show(child.Text);
         }
    }
}

myWindow.xaml:

<Window x:Class="Teste.myWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="myWindow" Height="300" Width="300" SizeToContent="WidthAndHeight">
    <StackPanel>
        <TextBlock x:Name="txtBlock" Text="Some Text" Margin="100" />
    </StackPanel>
</Window>

好的,记住这一点:

  1. 我的项目有2个Windows(MainWindow和myWindow)。
  2. MainWindow Button事件实例化myWindow。
  3. 变量child找到名为txtBlock的元素(My TextBlock)。
  4. 由于我知道我想要一个TextBlock,child也将元素转换为TextBlock,因此代码为:var child = (TextBlock)newWindow.FindName("txtBlock");
  5. 现在我有一个TextBlock的“实例”,我可以使用它的任何属性。在这种情况下,仅出于测试目的,我使用Text属性并在MessageBox中使用代码显示其内容:MessageBox.Show(child.Text);
  6. <小时/> 即使这不是你想要的,它也会给你一个暗示。这里的诀窍是强制

    祝你好运!