我正试图在WPF选项卡中实现类似于IE9中的选项卡。 当您在最后的多个选项卡中打开时,它们会变得越来越小,并且还会在左侧和右侧显示按钮,以便在选项卡之间滚动。TabControl - 在选项卡之间滚动
任何帮助将非常appritiated。
我正试图在WPF选项卡中实现类似于IE9中的选项卡。 当您在最后的多个选项卡中打开时,它们会变得越来越小,并且还会在左侧和右侧显示按钮,以便在选项卡之间滚动。TabControl - 在选项卡之间滚动
任何帮助将非常appritiated。
创建两个主选项卡(主要选项卡在回答这两个选项卡)这样
<TabItem Header="«" Name="LeftTab"/>
<TabItem Header="»" Name="RightTab"/>
设置可见他们对隐伏。现在添加你想要的所有选项卡(用C#代码或XAML),但不要忘了一套标记为所有选项卡添加像下面
<TabItem Header="new" Name="tiNew" Tag="1"/>
<TabItem Header="edit" Name="tiEdit" Tag="2"/>
...
现在,当标签数去比平常更多,你不能全部显示在第1页下做:
1.更改两大标签的可见..
bool is_Left_Right_tabVisible = false;
if (tabControl1.Items.Count > 8)
{
LeftTab.Visibility = System.Windows.Visibility.Visible;
RightTab.Visibility = System.Windows.Visibility.Visible;
is_Left_Right_tabVisible = true;
}
else
{
LeftTab.Visibility = System.Windows.Visibility.Hidden;
RightTab.Visibility = System.Windows.Visibility.Hidden;
is_Left_Right_tabVisible = false;
}
2.hidden所有额外的标签,只显示其中一些(例如:显示两个主要选项卡,并显示标签与标签1 -8)
3.如果隐藏在主选项卡用户点击(左或右标签)一个标签,并可见另一个标签(例如:你有lefttab-1-2-3-4-righttab当用户右键点击隐藏NO 1和vsible 5号并注重5号)
private void RightTab_MouseUp(object sender, MouseButtonEventArgs e)
{
if (is_Left_Right_tabVisible)
{
TabItem ti = sender as TabItem;
if (ti.Name == "RightTab")
{
//find right tab must set to visible
int Showtabindex = 0;
var t1 = tabControl1.Items.OfType<TabItem>().Where(x => x.Visibility == System.Windows.Visibility.Hidden);
foreach (var item in t)
{
if (((int)item.Tag) > Showtabindex)
Showtabindex = (int)item.Tag;
}
//find left tab must go invisible
int Hiddentabindex = Showtabindex;
var t2 = tabControl1.Items.OfType<TabItem>().Where(x => x.Visibility == System.Windows.Visibility.Visible);
foreach (var item in t2)
{
if (((int)item.Tag) < Hiddentabindex)
Hiddentabindex = (int)item.Tag;
}
(tabControl1.Items[Hiddentabindex] as TabItem).Visibility = System.Windows.Visibility.Hidden;
(tabControl1.Items[Showtabindex] as TabItem).Visibility = System.Windows.Visibility.Visible;
//you can create drag and drop for tabs then user can change tab TAG
}
else if (ti.Name == "LeftTab")
{
//.....
}
}
}
我知道这是升技很难,但是当我创造了良好的用户控件我感觉很好。 但不要忘记在这个用户控件我们使用tabcontrol我们可以从第一个创建一个自定义选项卡控件,而不使用此tabcontrol。
,你还可以创建动画的选项卡时,这些变化不透明度并移动动漫将是很好check this post
谢谢! 我还没试过,但看起来这是我需要的。 – Erez
您应该至少有一个标签控制已经实现。这个问题仍然是通用的... – 2012-05-06 06:54:27