我不确定我要去哪里错了。我正在尝试使用类在页面之间传递文本框值。
我创建了一个类页面,并在其中创建了用于绑定文本框的属性。
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 方法从登录页面成功传递到主窗口。