0

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

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

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

再次提前感谢!

4

1 回答 1

0

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

我的主窗口 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);
         }
    }
}

我的窗口.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 个窗口(MainWindow 和 myWindow)。
  2. MainWindow Button 事件实例化 myWindow。
  3. 变量child查找名为txtBlock(My TextBlock) 的元素。
  4. 因为我知道我想要一个 TextBlock,所以child也将元素转换为TextBlock,因此代码:var child = (TextBlock)newWindow.FindName("txtBlock");
  5. 现在我有了 TextBlock 的“实例”,我可以使用它的任何属性。在这种情况下,仅出于测试目的,我使用该Text属性并在代码中显示它的内容MessageBoxMessageBox.Show(child.Text);


即使那不是你要找的东西,它也可以给你一个提示。这里的诀窍是演员表

祝你好运!

于 2013-10-03T03:42:28.813 回答