好的,所以我有一个名为 PictureWindow 的窗口,它显示图片(我已经删除了与制作标签无关的代码)。TabControl 被命名为“itemsTab”。使用按钮按下,我可以创建一个新标签没有问题。但是在被调用的方法中使用相同的操作是行不通的。使用 buttonTab_Click 方法会创建一个新选项卡,而 newTab 方法则不会。
我能看到的唯一真正的区别是由于 sender 和 RoutedEventArgs 对象 - 这些如何影响这里的操作?还是我还缺少其他东西?
提前致谢。
编辑为了让事情变得更奇怪,newTab 方法确实创建了一个新选项卡,但前提是它在 PictureWindow 构造函数方法中被调用。如果我有以下内容,则会创建一个新选项卡。
公共图片窗口(字符串当前) { 初始化组件(); 新标签(当前); }
但是,如果我在其他任何地方调用该方法,它就不起作用。
公共部分类 PictureWindow : 窗口 { 公共图片窗口(字符串当前) { 初始化组件(); } 私人无效Window_Loaded(对象发送者,RoutedEventArgs e) { } 私人无效按钮Close_Click(对象发送者,RoutedEventArgs e) { this.Close(); } 私人无效按钮Tab_Click(对象发送者,RoutedEventArgs e) { TabItem newTab = new TabItem(); newTab.Header = "新标签页!"; itemsTab.Items.Add(newTab); } 公共无效新标签(字符串当前) { TabItem newTab = new TabItem(); itemsTab.Items.Add(newTab); } }