我已经开始了一个项目,并且第一次使用WPF。我正在输入XAML并查看渲染结果,并且遇到了可用性问题。跨多个TabItems共享ListView
我有一个带有三个选项卡的选项卡控件。每个选项卡将包含一个列表视图。每个列表视图在布局/结构方面都是相同的,但会保持不同的数据状态。下面是它看起来像现在:
<TabControl>
<TabItem Header = "Green">
<ListView>
<ListView.View>
<GridView>
<GridViewColumn Header="Header1" Width="100"/>
<GridViewColumn Header="Header2" Width="100"/>
<GridViewColumn Header="Header3" Width="100"/>
</GridView>
</ListView.View>
</ListView>
</TabItem>
<TabItem Header="Amber">
</TabItem>
<TabItem Header="Red">
</TabItem>
</TabControl>
在琥珀色和红色标签我不确定我是否需要复制并粘贴什么坐落在绿色标签或是否有这样做的更好的方式允许我在三个地方轻松地重用列表视图XAML?
编辑:回顾安迪提供的答案后加上一些额外的研究,我已经使用了以下解决方案
<Window.Resources>
<GridView x:Shared="False" x:Key="BaseListView">
<GridViewColumn Header="Header1" Width="100" />
<GridViewColumn Header="Header2" Width="100" />
<GridViewColumn Header="Header3" Width="100" />
<GridViewColumn Header="Header4" Width="100" />
<GridViewColumn Header="Header5" Width="100" />
<GridViewColumn Header="Header6" Width="100" />
<GridViewColumn Header="Header7" Width="100" />
</GridView>
</Window.Resources>
<DockPanel>
<ToolBarTray DockPanel.Dock="Top">
<ToolBar>
<Button ToolTip="Upload HSBC Spreadsheet file">
<Image Source="/Resources/Buttons/UploadButton.png" Height="32" Width="32"></Image>
</Button>
</ToolBar>
</ToolBarTray>
<TabControl>
<TabItem Header = "Green">
<ListView View="{DynamicResource BaseListView}">
</ListView>
</TabItem>
<TabItem Header="Amber">
<ListView View="{DynamicResource BaseListView}">
</ListView>
</TabItem>
<TabItem Header="Red">
<ListView View="{DynamicResource BaseListView}">
</ListView>
</TabItem>
</TabControl>
</DockPanel>
谢谢,这是非常有趣的,我正在寻找的东西。 – BenM