标签未更新,因为我正在更改值

时间:2014-04-25 03:24:32

标签: c# .net wpf wpf-controls

我正在编写一个小程序来根据商品数量来管理商店和价格。在欲望功能中,我希望所有项目的总计费用显示在标签中。当我更改数量文本框中的值时,此标签会更新。 到目前为止,我已经完成了编写这段代码并且它工作得很好,甚至变量中的值与我想要的完全相同但问题是标签没有更新,即使我在qty文本框中有空值。它保持显示以前的总数,直到我更改值,并且它似乎卡在最后更新的总数上。

namespace wpfTest
{

    public partial class MainWindow : Window
    {
        List<int> myList = new List<int>();
        int val1, val2;
        int total;

        public MainWindow()
        {
            InitializeComponent();
        }

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            qtyTxt1.IsEnabled = false;
            priceTxt1.IsEnabled = false;

            qtyTxt2.IsEnabled = false;
            priceTxt2.IsEnabled = false;
        }

        private void chk1_Click(object sender, RoutedEventArgs e)
        {
            if (chk1.IsChecked == true)
            {
                qtyTxt1.IsEnabled = true;
                priceTxt1.IsEnabled = true;
            }
            else
            {
                qtyTxt1.IsEnabled = false;
                priceTxt1.IsEnabled = false;

                qtyTxt1.Clear();
                priceTxt1.Text = "@50";
            }
        }

        private void chk2_Click(object sender, RoutedEventArgs e)
        {
            if (chk2.IsChecked == true)
            {
                qtyTxt2.IsEnabled = true;
                priceTxt2.IsEnabled = true;
            }
            else
            {
                qtyTxt2.IsEnabled = false;
                priceTxt2.IsEnabled = false;

                qtyTxt2.Clear();
                priceTxt2.Text = "@100";
            }
        }

        private void qtyTxt1_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (qtyTxt1.Text=="")
            {
                priceTxt1.Text = "@50";
                val1 = 0;
            }
            if (qtyTxt1.Text.Length > 0)
            {
                priceTxt1.Text = (Convert.ToInt32(qtyTxt1.Text) * 50).ToString();
                val1 = Convert.ToInt32(priceTxt1.Text);
                updateTotal();
            }
        }

        private void qtyTxt2_TextChanged(object sender, TextChangedEventArgs e)
        {
            if (qtyTxt2.Text.Length == 0)
            {
                priceTxt2.Text = "@100";
                val2 = 0;
            }
            if (qtyTxt2.Text.Length > 0)
            {
                priceTxt2.Text = (Convert.ToInt32(qtyTxt2.Text) * 100).ToString();
                val2 = Convert.ToInt32(priceTxt2.Text);
                updateTotal();
            }
        }

        private void updateTotal()
        {

            lblTotal.Content = "";
            lblTotal.Content = (val1 + val2).ToString();

        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("Total : " + total + "\n" + "Val1 : " + val1 + "\n" + "Val2 : " + val2);
        }

    }
}

我还在我的Microsoft OneDrive帐户上传了屏幕截图,因为我在此处限制上传照片。 :

http://1drv.ms/1lM0IdE

2 个答案:

答案 0 :(得分:0)

分配给标签属性文本

试试这个

 lblTotal.Text = "";
 lblTotal.Text  = (val1 + val2).ToString();

答案 1 :(得分:-1)

第一个明显的问题是你试图通过&#34;内容&#34;来改变UILabel文本。除非您自己定义,否则不存在的属性。你应该使用&#34;文本&#34;属性。请参阅Apple文档:

https://developer.apple.com/library/ios/documentation/uikit/reference/UILabel_Class/Reference/UILabel.html