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