在WPF中的窗口和页面之间传递值

时间:2013-04-25 08:34:09

标签: c# .net wpf

我正在用WPF开发一个软件,我希望在Window(MainWindow)和页面之间传递一个参数(文本框)(它位于一个框架中)......你有任何想法吗? / p>

Thansk这么多朋友...... BB

已编辑: 好吧,我在MAINWINDOW中有一个文本框,其值为“DB2012_2013”​​,那么框架的代码就是这个:

    <Frame  HorizontalContentAlignment="Stretch" LoadCompleted="frSample_LoadCompleted" Navigating="frSample_Navigating" VerticalContentAlignment="Stretch" x:Name="frSample" Background="{x:Null}" Margin="0,0,0,0" Source="{Binding SelectedItem.XamlFilePath, ElementName=CategoryTreeView, FallbackValue=Welcome.xaml, IsAsync=True}"/>

然后当我选择要打开的页面时,我会在新页面中传递文本框的值...使用此值进行某些查询...

3 个答案:

答案 0 :(得分:0)

您可以使用DataContext和WPF Binding功能。

您可以将DataContext设置为属于MainWindow。 您是否需要将数据传递到Frame或UI组件文本框?

<TextBox Name="textBox" Text="Text"></TextBox>
<Frame DataContext="{Binding ElementName=textBox,Path=DataContext}" Background="AliceBlue" Width="200">

答案 1 :(得分:0)

您可以使所有页面实现一个具有所需值属性的接口。

public interface IPageWithValue
{
    string MyValue { get; set; }
}

每当您切换到页面时,从主窗口设置属性值,每当您离开页面时,请阅读该属性。

让您的网页实现该界面。

答案 2 :(得分:-1)

试试这个 App.Current.MainWindow.TextBoxName.Text