タブ コントロールに閉じるボタンを追加するにはどうすればよいですか? これは、ビルドして実行した後のアプリの外観です。
メニュー 1.1 を選択すると、次にメニュー 2.2 を選択すると、次のように表示されます。
これは私のユーザーコントロールのようです。1 つはメニュー 1.1 (左) 用で、もう 1 つはメニュー 1.2 (右) 用です。
私の質問は次のとおりです。1.各タブに閉じるボタンを追加することは可能ですか? 2. はいの場合、どうすればそれを行うことができますか?
すでにこのリンクをたどっていますが、まだできません。小さいタイトルまたは長いタイトルを追加すると、そのリンクは同じ UI を使用します。しかし、今はタブごとに異なる UI を持っています。閉じるボタンを処理するにはどうすればよいですか? ありがとう。
ここに私のxamlがあります。
<ribbon:Ribbon x:Name="Ribbon">
<ribbon:Ribbon.ApplicationMenu>
<ribbon:RibbonApplicationMenu SmallImageSource="Images\SmallIcon.png">
<ribbon:RibbonApplicationSplitMenuItem Header="Menu 1"
ImageSource="Images\LargeIcon.png" Name="RibbonSplit">
<ribbon:RibbonApplicationMenuItem Header="Menu 1.1"
x:Name="RibbonMenu1"
ImageSource="Images\LargeIcon.png" Click="RibbonMenu1_Click"/>
</ribbon:RibbonApplicationSplitMenuItem>
<ribbon:RibbonApplicationSplitMenuItem Header="Menu 2" ImageSource="Images\LargeIcon.png">
<ribbon:RibbonApplicationMenuItem Header="Menu 2.1"
x:Name="RibbonMenu2"
ImageSource="Images\LargeIcon.png" Click="RibbonMenu2_Click"/>
</ribbon:RibbonApplicationSplitMenuItem>
</ribbon:RibbonApplicationMenu>
</ribbon:Ribbon.ApplicationMenu>
</ribbon:Ribbon>
<TabControl Grid.Row="1" Height= "394" Name="TabMenu" VerticalAlignment="Top">
</TabControl>
タブを追加するコードは次のとおりです。
tab2 tb1 = new tab1(); //menu1.1
AddTab(tb1);
これが私の AddTab メソッドです。
if (_mdiChildren.ContainsKey(mdiChild.UniqueTabName))
{
//user control is already opened in tab.
//So set focus to the tab item where the control hosted
foreach (object item in TabMenu.Items)
{
TabItem ti = (TabItem)item;
if (ti.Name == mdiChild.UniqueTabName)
{
ti.Focus();
break;
}
}
}
else
{
//the control is not open in the tab item
TabMenu.Visibility = Visibility.Visible;
TabMenu.Width = this.ActualWidth;
TabMenu.Height = this.ActualHeight;
//((ITabbedMDI)mdiChild).CloseInitiated += new delClosed(CloseTab);
//create a new tab item
TabItem ti = new TabItem();
//set the tab item's name to mdi child's unique name
ti.Name = ((ITabbedMDI)mdiChild).UniqueTabName;
//set the tab item's title to mdi child's title
ti.Header = ((ITabbedMDI)mdiChild).Title;
//set the content property of the tab item to mdi child
ti.Content = mdiChild;
ti.HorizontalContentAlignment = HorizontalAlignment.Stretch;
ti.VerticalContentAlignment = VerticalAlignment.Top;
//add the tab item to tab control
TabMenu.Items.Add(ti);
//set this tab as selected
TabMenu.SelectedItem = ti;
//add the mdi child's unique name in the open children's name list
_mdiChildren.Add(((ITabbedMDI)mdiChild).UniqueTabName, ((ITabbedMDI)mdiChild).Title);
}
//* */
}