【问题标题】:how to retrieve textbox string form mainpage in uwp?如何在 uwp 中检索文本框字符串表单主页?
【发布时间】:2017-06-22 20:22:51
【问题描述】:

我是 UWP 新手。

我创建了一个带有 MainPage 和 UserControl 的应用程序。

我在那个用户控件中有一个文本框,我想从我的主页访问它的数据。

有人可以建议一种方法吗?

谢谢

【问题讨论】:

    标签: c# uwp


    【解决方案1】:

    虽然@Peter 有一个很好的答案,但我认为您也可以使用FieldModifier。

    我的 UserControl 是 Averieli,我的 xaml 是:

    <UserControl
        x:Class="Avalonia.Averieli"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:local="using:Avalonia"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        d:DesignHeight="300"
        d:DesignWidth="400">
    
        <Grid>
           <TextBox x:Name="TextBox" x:FieldModifier="public"></TextBox>
        </Grid>
    </UserControl>
    

    您可以看到我在TextBox中添加了x:FieldModifier="public",可以使其可以在MainPage中使用。

    我在 MainPage 中使用 UserControl。

        <local:Averieli x:Name="Averieli"></local:Averieli>
    

    我也可以在后面的代码中使用TextBox。

        public MainPage()
        {
            InitializeComponent();
            Averieli.TextBox.Text = "I can use it";
        }
    

    【讨论】:

      【解决方案2】:

      在用户控件的构造函数中,初始化一个UserControl类的静态全局实例

      public UserControl()
      {
          //Initialise control
      }
      
      public static UserControl UserControlInstance
      {
          get
          {
              return m_UserControlInstance ?? new UserControl();
          }
      }
      
      private static UserControl m_UserControlInstance;
      

      然后只需通过实例访问 UserControl 的属性

      string x = UserControl.UserControlInstance.TextBox.Text;
      

      顺便说一句,这被称为 singelton,以防你想查一下!

      【讨论】:

      • 您好,感谢您的回答,但是当我尝试使用 UserControl.UserControlInstance.textbox 从我的主页访问文本框时,我找不到文本框属性。但是在我的用户控件中,我有一个带有 x:name 的文本框。
      猜你喜欢
      • 1970-01-01
      • 2013-05-06
      • 1970-01-01
      • 2021-09-04
      • 1970-01-01
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      相关资源
      最近更新 更多