ここでどこが間違っているのかわかりません。クラスを使用してページ間でテキストボックスの値を渡そうとしています。
クラス ページを作成し、その中にテキスト ボックスのバインドに使用するプロパティを作成しました。
using System.Threading.Tasks;
namespace Masca
{
public class loggedin
{
public string aliasname { get; set; }
}
}
次に、メイン ウィンドウの背後にあるコードで、作成したばかりの新しい「ログに記録された」クラスを登録しました。次に、それをインスタンス化し、値を与えましたFOO
using MySql.Data.MySqlClient;
namespace Masca
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : ModernWindow
{
public loggedin loggedin;
public MainWindow(string Str_Value)
{
InitializeComponent();
loggedin = new loggedin { aliasname = "FOO" };
this.DataContext = loggedin;
username.Text = Str_Value;
次に、表示したいすべてのページに追加しましたFOO
:
this.DataContext = logged;
そして、テキストボックスを「ログに記録された」プロパティにバインドしました。
<TextBox x:Name="username" Text="{Binding aliasname}" Margin="134,77,0,0"
HorizontalAlignment="Left" Width="211" Height="19"
VerticalAlignment="Top" FontSize="11" />
残念ながら、表示されている唯一FOO
のページは、私がそれをインスタンス化したページです。
loggedin = new loggedin { aliasname = "FOO" };
理論的には、ページを正しくloggedin
渡すことが期待できますか? foo
そのような幸運はありません。誰かが私が間違っているところを見ていますか? Foo
の内容になっているはずですUsername.text
。そのため、すべてのページがログインしたばかりのユーザーを認識しています。その値は、winforms メソッドを使用して、ログイン ページからメイン ウィンドウに既に正常に渡されています。