わかりましたので、写真を表示する 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); } }