Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在各种文本框上进行计算,并在失去焦点时在文本框中显示它们_C#_Wpf_Binding - Fatal编程技术网

C# 如何在各种文本框上进行计算,并在失去焦点时在文本框中显示它们

C# 如何在各种文本框上进行计算,并在失去焦点时在文本框中显示它们,c#,wpf,binding,C#,Wpf,Binding,我正试图让我的小程序做一些计算 到目前为止,我有15个文本框,名为TxtPP(后跟产品类型),所以我得到了txtpproduct1、txtpproduct2等等。。。。 在表格的底部,我有一个禁用的文本框,它显示了上述所有文本框的总数 我不想使用按钮进行计算,我希望每次向其中一个文本框中添加值时都能执行此操作(如此类推LostFocus) 有没有干净的方法可以做到这一点?要做到这一点,您需要利用set作为一种方法,这意味着您可以为除您所在的属性之外的其他属性提高PropertyChanged 首

我正试图让我的小程序做一些计算

到目前为止,我有15个文本框,名为TxtPP(后跟产品类型),所以我得到了txtpproduct1、txtpproduct2等等。。。。 在表格的底部,我有一个禁用的文本框,它显示了上述所有文本框的总数

我不想使用按钮进行计算,我希望每次向其中一个文本框中添加值时都能执行此操作(如此类推
LostFocus


有没有干净的方法可以做到这一点?

要做到这一点,您需要利用
set
作为一种方法,这意味着您可以为除您所在的属性之外的其他属性提高
PropertyChanged

首先,需要绑定每个源文本框。要使其在丢失输入焦点时更新源,请将设置为
LostFocus
,例如:

<TextBox Text="{Binding FirstSourceValue, UpdateSourceTrigger=LostFocus}"/>
派生值属性仅返回计算结果:

public DerivedValue
{
    get { return FirstSourceValue + SecondSourceValue; }
}
现在,您可以将禁用的文本框绑定到该文本框,并且它将在其他文本框执行以下操作时更新:

<TextBox IsEnabled="False" Text="{Binding DerivedValue, Mode=OneWay}"/>


您以前没有问过这个问题吗。。您需要查看诸如onChange或OnLeave之类的事件,您是否查看了与
文本框相关联的所有事件
这与您以前在此处发布的代码相同。。?另外,如果你想汇总所有的文本框,并将总计放在不同的文本框中。。然后谷歌如何使用foreach(Controls中的Control-ctrl)然后从那里你需要检查控件是否为文本框的类型,如果是文本框,那么从那里你需要检查值是否为Intanyone可以根据几个因素对一个问题进行否决。。我认为如果你能展示一些关于你正在使用/连接的15个文本框的事件的代码,这会有所帮助。。希望您为它们分配了除保存总数的textboxt之外的所有对象,它们共享同一个事件处理程序..@MethodMan,他用binding标记,为什么建议用户界面操作方法?@BradleyDotNET现在很高兴看到OP是如何在Xaml中进行绑定的,因为你似乎是一个读心术的人——也许你可以回答OP的代码
<TextBox IsEnabled="False" Text="{Binding DerivedValue, Mode=OneWay}"/>