0

わかりましたので、写真を表示する PictureWindow というウィンドウがあります (タブの作成に関係のないコードを切り取りました)。TabControl の名前は「itemsTab」です。ボタンを押すだけで、新しいタブを問題なく作成できます。ただし、呼び出されたメソッド内で同じ操作を使用しても機能しません。buttonTab_Click メソッドを使用すると新しいタブが作成されますが、newTab メソッドでは作成されません。

私が見ることができる唯一の本当の違いは、送信者と RoutedEventArgs オブジェクトによるものです - これらはここでの操作にどのように影響しますか? それとも、私が見逃しているものがありますか?

前もって感謝します。

編集さらに奇妙なことに、newTab メソッドは新しいタブを作成しますが、それは PictureWindow コンストラクター メソッドで呼び出された場合のみです。次の場合、新しいタブが作成されます。

        
public PictureWindow(現在の文字列)
        {
            InitializeComponent();
            newTab(現在);
        }

しかし、メソッドを他の場所で呼び出すと、機能しません。

パブリック部分クラス PictureWindow : ウィンドウ
    {
        public PictureWindow(現在の文字列)
        {
            InitializeComponent();
        }

        private void Window_Loaded(オブジェクト送信者, RoutedEventArgs e)
        {
        }

        private void buttonClose_Click(オブジェクト送信者, RoutedEventArgs e)
        {
            this.Close();
        }

        private void buttonTab_Click(オブジェクト送信者, RoutedEventArgs e)
        {
            TabItem newTab = new TabItem();
            newTab.Header = "新しいタブ!";
            itemsTab.Items.Add(newTab);
        }

        public void newTab(現在の文字列)
        {
            TabItem newTab = new TabItem();
            itemsTab.Items.Add(newTab);

        }
    }
4

0 に答える 0