在 WPF 中声明了一个变量,我将它用于另一个 WPF C#

当我在名为 txtCmdUrl 的文本框中引入 UrlTxt 时,我有一个 WPF 项目 这是我的代码 XAML station.xaml


<UserControl .....>



  <Grid x:Name="GridGlobal">

     <DockPanel Background="White" Margin="5" >

            <StackPanel DockPanel.Dock="Left" HorizontalAlignment="Left" Orientation="Horizontal" Margin="10 0 10 0">

                <StackPanel Orientation="Horizontal">


                    **<TextBox x:Name="txtCommandeUrl"  Width="500" 

                       Height="24" VerticalAlignment="Center"  />**

                    <mui:ModernButton x:Name="btnSave" Content="{x:Static 

                       p:Resources.Link_Save_Link}" Click="BtnSave_Click" 

                       VerticalAlignment="Center" Command="{Binding 

                      NextCommand, Mode=TwoWay}" IsEnabled="{Binding 

                    NextEnabled}"/>                        

                </StackPanel>

            </StackPanel>

  </Grid>

</UserControl> 

在我后面的代码中,我使用了带有此代码的单击按钮


    private string txtUrlStation = "";


    //BtnSave_Click

    private void BtnSave_Click(object sender, RoutedEventArgs e)

    {            

        try

        {

            txtUrlStation = txtCommandeUrl.Text;

            MessageBox.Show(txtSave);                                

        }

        catch

        {

        }

    }

我想在后面的代码中将我的变量txtCommandeUrl用于另一个 file.xaml 示例 station2.xaml。


谁能帮我解决这个小问题,谢谢


九州编程
浏览 183回答 1
1回答

长风秋雁

有几种方法可以完成这类事情。哪个最好取决于您想要做什么。这里有一些你可以使用:PRISM eventtaggregator 或 Mvvmlight messenger 在新值发生变化时将其从一个发送到另一个。https://social.technet.microsoft.com/wiki/contents/articles/26070.communicating-between-classes.aspx将您的属性移动到静态类上的静态方法,然后任何东西都可以引用。使其成为“全球”。将您的属性移动到一个实例类,然后直接从一个实例类传递到另一个实例类。将您的属性移动到一个实例类,然后使用依赖注入从一个到另一个间接传递。将其设为公共属性,并从您的第一个窗口/任何其他窗口传递参考。这更适用于第二个是第一个的孩子的情况,因为您正在创建依赖项。
打开App,查看更多内容
随时随地看视频慕课网APP