[英]How to pass value from Main WIndow textbox to other User Control?
目標:
我的目標是將值從主 window 即登錄屏幕傳遞到其他用戶控件 forms。
這是MainWindow.Xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void CloseButton_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void btnLogin_Click(object sender, RoutedEventArgs e)
{
string connString = ConfigurationManager.ConnectionStrings["Technical_Application.Properties.Settings.ConnectionString"].ConnectionString;
string query = "SELECT count(*) from users where username = '" + txtUsername.Text + "' and password = MD5('" + txtPassword.Password + "')";
using (var conn = new MySqlConnection(connString))
{
conn.Open();
using (var cmd = new MySqlCommand(query, conn))
{
int count = Convert.ToInt32(cmd.ExecuteScalar());
if(count == 1)
{
Dashboard dashboard = new Dashboard();
dashboard.Show();
this.Close();
}
else
{
MessageBox.Show("Username or Password unvalid", "Login Error", MessageBoxButton.OK, MessageBoxImage.Warning);
}
}
conn.Close();
}
}
}
它打開了儀表板。 我現在有一個指向特定User Control
forms 的ListViewMenu
,並在儀表板上打開。
打開不同用戶控件的代碼
private void ListViewMenu_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
int index = ListViewMenu.SelectedIndex;
MoveCursorMenu(index);
switch (index)
{
case 0:
GridPrincipal.Children.Clear();
GridPrincipal.Children.Add(new UserControlMain());
break;
case 1:
GridPrincipal.Children.Clear();
GridPrincipal.Children.Add(new UserControl1());
break;
default:
break;
}
}
問題:
從MainWindow
名稱為txtUsername
的文本框如何將文本值傳輸到其他 UserControl windows?
在您的儀表板 class 中添加字符串屬性並將其傳遞給該屬性不是很容易 - 比如:
Dashboard dashboard = new Dashboard();
dashboard.UserName = txtUsername.Text;
然后您可以將相同的字符串值傳遞給其他控件。 當然,理想情況下,您將實現 MVVM 模式並使用綁定。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.