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