0

真的很新,正在学习 C#,并跟随 PluralSight 的一些培训视频。很棒的视频,当然,除了你不能问问题,我不明白为什么我看到的内容与他的屏幕显示的内容不同,即使我输入了他所拥有的内容。

文本框被命名为“输出”。最初,这些操作直接在 MainWindow 构造函数中(他解释说这不是好的做法,所以我们移动了它。最初,这可以正常工作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
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 WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

            Employee e1 = new Employee();
            e1.Name = "Mike";

            Employee e2 = new Employee();
            e2.Name = "Miller";

            Output.Text = e1.Name + " " + e2.Name;


        }
    }
}

这将在 TextBlock 中显示“Mike Miller”。

但是,当我们将其移至此处时,它对文本的所有内容都是“TextBlock”

namespace WpfApplication1
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();

        }

        void MainWindow_Loaded(object sender, RoutedEventArgs e)
        {

            Employee e1 = new Employee();
            e1.Name = "Mike";

            Employee e2 = new Employee();
            e2.Name = "Miller";

            Output.Text = e1.Name.Length + " " + e2.Name.Length;

        }

    }
}

我在这里错过了一些简单的东西吗?

谢谢!

4

3 回答 3

2

如果您将 .Length 从两个字符串中取出,它应该可以工作。您正在使用“+”将整数与字符串连接起来,但效果并不好。

Output.Text = e1.Name + " " + e2.Name; 
于 2012-04-20T17:16:03.427 回答
2

正如 Nico Schertler 所说,验证您是否订阅了 Window 的 Loaded 事件:

<Window ... Loaded="MainWindow_Loaded">
    ...
</Window>

在第一种情况下,您的代码会运行,因为在创建 Window 时会调用 Window 的构造函数。在第二种情况下,默认情况下不调用事件处理程序。您应该订阅此活动。

于 2012-04-20T17:24:33.937 回答
0

您的问题的答案非常肯定:首先,如果您希望输出为“Mike Miler”,请将您的代码更改为 Bravan 发布的代码。其次,您需要将 Loaded 事件添加到 XAML 中的 MainWindow 声明中。除此之外没有什么问题......!!!

快乐编码...!:)

于 2012-04-20T17:43:38.257 回答