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

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 のコンストラクターが呼び出されるため、コードが実行されます。2 番目のケースでは、イベント ハンドラはデフォルトでは呼び出されません。このイベントにサブスクライブする必要があります。

于 2012-04-20T17:24:33.937 に答える
0

あなたの質問からの答えは非常に確かです。まず、出力が「Mike Miler」になることを期待している場合は、コードをBravanによって投稿されたものに変更します。次に、LoadedイベントをXAMLのMainWindow宣言に追加する必要があります。それ以外は何も悪いことはありません...!!!

ハッピーコーディング...!! :)

于 2012-04-20T17:43:38.257 に答える