我有一个WPF应用程序,它只有一个主窗口和一个IFrame,我用来打开我的WPF页面,有一个页面,点击一个按钮,我打开一个窗口,其中有一个带有一些数据的网格,
如何将“弹出窗口”窗口中的日期带到我的页面?
我已经尝试从窗口获取Parent元素,但它没有。
再次提前感谢!
答案 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>
好的,记住这一点:
child
找到名为txtBlock
的元素(My TextBlock)。child
也将元素转换为TextBlock
,因此代码为:var child = (TextBlock)newWindow.FindName("txtBlock");
Text
属性并在MessageBox
中使用代码显示其内容:MessageBox.Show(child.Text);
<小时/> 即使这不是你想要的,它也会给你一个暗示。这里的诀窍是强制
祝你好运!