ero*_*las 1 c# wpf xaml mahapps.metro
我试图按照这个指令来完成它,但我刚刚开始使用WPF.
如何使用可以在不同TabControl中重用的UserControl来执行此操作?TabControl样式中的哪一个是"Header"ContentPresenter ?
以下是https://github.com/MahApps/MahApps.Metro/issues/281上的说明
另一种方法是修改/创建一个样式 - 然后问题就是以通用的方式将它连接到一个实际的'close'事件.
如果查看TabControl样式,您将看到"Header"ContentPresenter.如果你将它包装在一个堆栈面板中并添加一个如下按钮:
Run Code Online (Sandbox Code Playgroud)<StackPanel Orientation="Horizontal"> <Label x:Name="root" FontSize="26.67"> <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" /> </Label> <Button Content="X" /> </StackPanel>你得到 :
如果你在Window或UserControl中有这个(而不是资源字典),你可以连接它以便点击可以触发,然后你可以从数据绑定集合或直接从TabControl中删除该项目.
最简单的方法是使用MetroTabItem.它附带CloseButtonEnabled启用/禁用关闭按钮的属性.您还可以将命令绑定到CloseTabCommand和CloseTabCommandParameter.
<TabControl xmlns:Controls="http://metro.mahapps.com/winfx/xaml/controls">
<Controls:MetroTabItem Header="The Header of the TabItem"
CloseButtonEnabled="True"
CloseTabCommand="{Binding CloseTabCommand}"
CloseTabCommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Header}">
<!-- your content of the TabItem -->
</Controls:MetroTabItem>
</TabControl>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
3036 次 |
| 最近记录: |