我目前正在学习如何使用 WPF,但我遇到了一个问题。所以我设置了 3 个窗口 MainWindow、IncomeWindow 和 RentWindow,我的目标是在文本框(Inside IncomeWindow)中输入我的 GrossIncome 值,然后在我单击租金窗口内的按钮时获取该值并输出它。我的导航工作正常,但我不确定如何将值从一个窗口链接到另一个窗口。
主窗口内的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace PROGPOE
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void OpenWindow(object sender, RoutedEventArgs e)
{
IncomePage f1 = new IncomePage();
this.Visibility = Visibility.Hidden;
f1.Show();
}
}
}
收入窗口代码:
namespace PROGPOE
{
/// <summary>
/// Interaction logic for IncomePage.xaml
/// </summary>
///
public partial class IncomePage : Window
{
public string gross;
public IncomePage()
{
InitializeComponent();
}
private void OpenWindow(object sender, RoutedEventArgs e)
{
MainWindow f2 = new MainWindow();
this.Visibility = Visibility.Hidden;
f2.Show();
}
public void ButtonClicked(object sender, RoutedEventArgs e)
{
Expense f3 = new Expense();
this.Visibility = Visibility.Hidden;
f3.Show();
//MainClass x = new MainClass();
//x.Income = Convert.ToDouble(textIncome.Text);
//MessageBox.Show(x.Income.ToString(), "Results");
gross = textIncome.Text;
MessageBox.Show(gross, "Results");
}
private void TextBox_TextChanged(object sender, TextChangedEventArgs e)
{
}
}
}
租风:
namespace PROGPOE
{
/// <summary>
/// Interaction logic for Rent.xaml
/// </summary>
public partial class Rent : Window
{
public Rent()
{
InitializeComponent();
}
private void OpenWindow(object sender, RoutedEventArgs e)
{
MainWindow f2 = new MainWindow();
this.Visibility = Visibility.Hidden;
f2.Show();
}
private void ButtonClicked(object sender, RoutedEventArgs e)
{
Car c1 = new Car();
IncomePage i1 = new IncomePage();
MainClass x = new MainClass();
i1.gross = textIncome.Text;
MessageBox.Show(i1.gross, "Results");
}
private void Rent1_TextChanged(object sender, TextChangedEventArgs e)
{
}
}
}
我已将值的输出链接到我的 RentXaml 中的按钮。当我运行它并单击结果时,我得到一个输出 0 同时我会在我的收入页面中输入一个更大的数字。
我将如何处理这个问题?