1

我正在使用 WPF 开发一个软件,我想在窗口(主窗口)之间传递一个参数(文本框)到一个页面(它位于一个框架中)......你有什么想法吗?

非常感谢我的朋友们... 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}"/>

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

4

3 回答 3

0

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

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

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

让您的页面实现该接口。

于 2013-04-25T09:23:11.120 回答
0

您可以使用 DataContext 和 WPF 绑定功能。

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

<TextBox Name="textBox" Text="Text"></TextBox>
<Frame DataContext="{Binding ElementName=textBox,Path=DataContext}" Background="AliceBlue" Width="200">
于 2013-04-25T09:04:35.757 回答
-1

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

于 2013-04-25T08:46:17.003 回答