c# - 将 WPF 中的选项卡内容分配给页面

标签 c# wpf tabcontrol tabitem contentcontrol

我正在尝试向我的应用程序添加动态选项卡。现在,如果我单击一个按钮,它将打开一个新页面。我想要的是在新选项卡中打开此页面。但是当我将选项卡内容设置到页面时,代码会提示。我想做这样的事情

private void bttnGoToClientsOnClick(object sender, RoutedEventArgs e)
{
    var content = new TextBlock();
    TabItem tab = new TabItem();
    tab.Header = "Search Page";
    SearchPage sp = new SearchPage();
    tab.Content = sp;
    tabControl.Items.Add(tab);
    this.NavigationService.Navigate(sp);
}

有什么方法可以将我的页面转换为用户控件或将其转换为用户控件

谢谢!

最佳答案

But when I set up the tab content to a page , the code complains.

如果你在这里更具体一点也没有什么坏处:)

什么是 SearchPage 类?它似乎不是WPF框架的一部分。我在谷歌上搜索了它 http://www.intersoftpt.com/网站。是这样吗?

TabItem.Content 需要是 ContentControl 类型,而 SearchPage 显然不是。我确定您需要将此 SearchPage 对象嵌入到某些控件呈现器(例如面板)中,然后才能将其分配给 TabItem.Content


更新:

然后试试这个:

TabItem tab = new TabItem();
tab.Header = "Search Page";
SearchPage sp = new SearchPage();
this.NavigationService.Navigate(sp);
// ---------------------------------------------------- 
var frame = new Frame(); // !
frame.Navigate(sp);  // !
tab.Content = frame; // !
// ---------------------------------------------------- 
tabControl.Items.Add(tab);

虽然我相信这应该有效,但我还没有测试过。如果它不起作用,请告诉我。

关于c# - 将 WPF 中的选项卡内容分配给页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053685/

相关文章:

c# - 将 WinForm ClickNCode 重构为 MVP 被动 View

Java 相当于 NetworkCredential

c# - 所选项目ComboBox没有显示正确的ID WPF

c# - MVVM 刷新 System.Windows.Controls.Grid 中的只读文本框

.net - 谁能推荐具有本地外观的高级.NET TabControl?

c# - 如何提高 ASP.NET 站点的安全性?

c# - 是否可以序列化或保存 viewbag 状态?

wpf - 如何在 XAML 中绘制单独的圆圈?

.net - 不可见的标签页(标签控件)上的控件返回 Visible = false

c# - tabControl 中的 FlowLayoutPanel