在 WPF C# 中向现有选项卡控件添加选项卡
Add tabs to an existing tab control in WPF C#
我正在尝试将选项卡添加到 WPF 中的选项卡控件,但在运行时该控件上没有显示任何内容。我尝试按照我不断看到的示例进行操作。现在这就是我所拥有的,但它不起作用
_myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
MessageBox.Show(myReader["SectionName"].ToString());
TabItem newTabItem = new TabItem
{
Header = myReader["SectionName"].ToString(),
Name = myReader["SectionID"].ToString()
};
TabMain.Items.Add(newTabItem);
}
_myConnection.Close();
TabMain.SelectedIndex = 0;
也许您的数据库值中有什么?我刚刚编写了最简单的 for 循环来测试,这工作正常(仅在 XAML 上使用 TabControl 和 OnLoaded 事件):
private void Window_Loaded(object sender, RoutedEventArgs e)
{
for (int i = 1; i <= 3; i++)
{
var item = new TabItem {Header = i.ToString(), Name = $"tab{i}"};
TabMain.Items.Add(item);
}
}
您可以使用以下代码动态添加标签。
添加以下代码以全局声明选项卡控件实例。
TabControl tbControl;
现在,将以下代码添加到选项卡控件的加载事件中。
private void tbCtrl_Loaded(object sender, RoutedEventArgs e)
{
tbControl = (sender as TabControl);
}
我已使用按钮为现有选项卡控件添加新选项卡。
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
TabItem newTabItem = new TabItem
{
Header = "Test",
Name = "Test"
};
tbControl.Items.Add(newTabItem);
}
以下是我的选项卡控件 xaml 视图。
<TabControl x:Name="tbCtrl" HorizontalAlignment="Left" Height="270" Margin="54,36,0,0" VerticalAlignment="Top" Width="524" Loaded="tbCtrl_Loaded">
<TabItem Header="Tab - 01">
<Grid Background="#FFE5E5E5">
<Button x:Name="btnAdd" Content="Add New Tab" HorizontalAlignment="Left" Margin="68,95,0,0" VerticalAlignment="Top" Width="109" Height="29" Click="btnAdd_Click"/>
</Grid>
</TabItem>
</TabControl>
最后,您可以使用它向现有选项卡控件动态添加任意数量的选项卡。
希望这能满足您的需求。
我正在尝试将选项卡添加到 WPF 中的选项卡控件,但在运行时该控件上没有显示任何内容。我尝试按照我不断看到的示例进行操作。现在这就是我所拥有的,但它不起作用
_myConnection.Open();
SqlDataReader myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
MessageBox.Show(myReader["SectionName"].ToString());
TabItem newTabItem = new TabItem
{
Header = myReader["SectionName"].ToString(),
Name = myReader["SectionID"].ToString()
};
TabMain.Items.Add(newTabItem);
}
_myConnection.Close();
TabMain.SelectedIndex = 0;
也许您的数据库值中有什么?我刚刚编写了最简单的 for 循环来测试,这工作正常(仅在 XAML 上使用 TabControl 和 OnLoaded 事件):
private void Window_Loaded(object sender, RoutedEventArgs e)
{
for (int i = 1; i <= 3; i++)
{
var item = new TabItem {Header = i.ToString(), Name = $"tab{i}"};
TabMain.Items.Add(item);
}
}
您可以使用以下代码动态添加标签。
添加以下代码以全局声明选项卡控件实例。
TabControl tbControl;
现在,将以下代码添加到选项卡控件的加载事件中。
private void tbCtrl_Loaded(object sender, RoutedEventArgs e)
{
tbControl = (sender as TabControl);
}
我已使用按钮为现有选项卡控件添加新选项卡。
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
TabItem newTabItem = new TabItem
{
Header = "Test",
Name = "Test"
};
tbControl.Items.Add(newTabItem);
}
以下是我的选项卡控件 xaml 视图。
<TabControl x:Name="tbCtrl" HorizontalAlignment="Left" Height="270" Margin="54,36,0,0" VerticalAlignment="Top" Width="524" Loaded="tbCtrl_Loaded">
<TabItem Header="Tab - 01">
<Grid Background="#FFE5E5E5">
<Button x:Name="btnAdd" Content="Add New Tab" HorizontalAlignment="Left" Margin="68,95,0,0" VerticalAlignment="Top" Width="109" Height="29" Click="btnAdd_Click"/>
</Grid>
</TabItem>
</TabControl>
最后,您可以使用它向现有选项卡控件动态添加任意数量的选项卡。
希望这能满足您的需求。