2017-06-22 7 views
0

私はUWPを初めて使っています。uwpでテキストボックス文字列のフォームmainpageを取得するには?

私はMainPageとUserControlでアプリケーションを作成しました。

私はそのUserControlにTextBoxを持っており、私は自分のMainpageからそのデータにアクセスしたいと思います。

誰かがこれを行う方法を提案できますか?

おかげでユーザーコントロールのコンストラクタで

答えて

1

@Peterは良い答えがありますが、FieldModifierも使用できると思います。

私のユーザーコントロールは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> 

あなたが、私はそれがメインページで使用することができますすることができますテキストボックスにx:FieldModifier="public"を追加することがわかります。

私はメインページでUserControlを使用します。

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

また、バックコードでTextBoxを使用することもできます。

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

ありがとう –

1

、ユーザーコントロールクラスの静的なグローバルインスタンスを初期化

public UserControl() 
{ 
    //Initialise control 
} 

public static UserControl UserControlInstance 
{ 
    get 
    { 
     return m_UserControlInstance ?? new UserControl(); 
    } 
} 

private static UserControl m_UserControlInstance; 

そしてちょうどインスタンスを経由して

string x = UserControl.UserControlInstance.TextBox.Text; 

をユーザーコントロールのプロパティにアクセスこれは、あなたがそれを見たいと思った場合に、途中でシングルトンと呼ばれています!

+0

私はUserControl.UserControlInstance.textboxで私のメインページからテキストボックスにアクセスしようとすると、私はテキストボックスのプロパティを見つけることができません。しかし、私のuserControlには、x:という名前のテキストボックスがあります。 –

関連する問題