如何将 valus 从窗口引入 WPF 中的页面

本文关键字:WPF valus 窗口 | 更新日期: 2023-09-27 18:33:36

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

如何将日期从"弹出窗口"引入我的主页?

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

再次提前感谢!

如何将 valus 从窗口引入 WPF 中的页面

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

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

恢复主窗口.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 个窗口(主窗口和我的窗口)。
  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);


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

祝你好运!