【发布时间】:2012-08-28 13:27:10
【问题描述】:
作为一个新手程序员,我在这里真的很挣扎......顺便说一句,这一切都在 WPF 中完成
我的 MainWindow 中有三个文本框。
将值返回到这些文本框的方法已公开(并且位于 MainWindow 中)。下面是三个文本框之一。
public float GetLEL()
{
bool LEL = false;
float parsedLELValue = 0;
LEL = float.TryParse(LEL_TextBox.Text, out parsedLELValue);
return parsedLELValue;
}
如何将这个值原样返回到我的用户控件类中,即使它发生了变化?
我已经尝试了各种方法,例如在用户控件中创建一个实例(没有成功) -
Application app = new Application();
private float GetNewLEL()
{
float parsedNewLELValue = 0.00F;
bool NewLEL = false;
if (HolidayPay_CheckBox.IsChecked == false)
{
NewLEL = float.TryParse(app.GetHPR().ToString, out parsedNewLELValue);
}
else if (HolidayPay_CheckBox.IsChecked == true)
{
parsedNewLELValue = 0.00F;
}
return parsedNewLELValue;
}
但是,Usercontrol 中的实例在 MainWindow 中找不到 GetLEL() 方法。有人可以帮忙吗。其他人建议使用 Get 和 Set,但我不确定如何执行此操作。
【问题讨论】:
-
“我怎样才能将这个值原样返回到我的用户控件类中,即使它发生了变化?” :你能澄清一下你想要达到的目标吗? “我的用户控件类”是什么意思?基本上你走错了方向,要检索 TextBox 的值,你应该使用 DataBinding :msdn.microsoft.com/en-us/library/ms752347.aspx
-
我的用户控件根据主窗口上这些文本框中的值进行一些计算。文本框的值可以由用户更改,因此即使它们已更改,它们也应该是要在用户控件中使用的值。数据绑定,我怎样才能做到这一点?信息对我来说太复杂了,有没有更简单的方法?
-
"因此,即使它们已被更改,它们也应该是在用户控件中使用的"。你能再解释一次吗?是的,有很多信息需要处理,但实际上这并不难,如果你想要一个设计良好的应用程序,这就是要走的路。例如,尝试谷歌搜索“wpf 简单数据绑定”。 stackoverflow.com/questions/1725554/…
-
对,我会尝试解释一下,在某一时刻,我根据复选框将这些框的值设置为 0.00(但是,在用户控件中,当未选中复选框时,我希望它恢复到文本框的值,但它没有,它保持为零。
-
你肯定要 DataBind ;)