C# 带扩展器的WPF控制
当用户单击Expander按钮时,如何使用Expander按钮创建选项卡控件?折叠所有选项卡项并再次单击将可见C# 带扩展器的WPF控制,c#,wpf,silverlight,xaml,expression-blend,C#,Wpf,Silverlight,Xaml,Expression Blend,当用户单击Expander按钮时,如何使用Expander按钮创建选项卡控件?折叠所有选项卡项并再次单击将可见 这里有一个例子 <ItemsControl> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" /> </Ite
这里有一个例子
<ItemsControl>
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Expander Header="{Binding}" Margin="4">
exapnder data
</Expander>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.Items>
<sys:String>Positions</sys:String>
<sys:String>Orders</sys:String>
<sys:String>Trade</sys:String>
</ItemsControl.Items>
</ItemsControl>
您可以根据自己的喜好自定义样式
使用TabControl模板更新
您可以轻松地将TabControl拆分为两部分。然后,当扩展器未折叠时,可以使用绑定来显示所选内容
<Expander>
<Expander.Header>
<TabControl>
<TabItem x:Name="PositionsTabHeader" Header="Positions"/>
<TabItem x:Name="OrdersTabHeader" Header="Orders"/>
<TabItem x:Name="TradesTabHeader" Header="Trades"/>
</TabControl>
</Expander.Header>
<TabControl>
<TabItem Visibility="Collapsed"
IsSelected="{Binding ElementName=PositionsTabHeader, Path=IsSelected}">
Positions go here
</TabItem>
<TabItem Visibility="Collapsed"
IsSelected="{Binding ElementName=OrdersTabHeader, Path=IsSelected}">
Orders go here
</TabItem>
<TabItem Visibility="Collapsed"
IsSelected="{Binding ElementName=TradesTabHeader, Path=IsSelected}">
Trades go here
</TabItem>
</TabControl>
</Expander>
您可以对Expander.Header中的TabControl应用一些样式修改,使其看起来更好。什么会崩溃?整个控件或只是当前所选选项卡的内容?您标记了问题WPF和Silverlight。您实际使用的框架是什么?WPF,整个控件需要折叠Hehi,感谢您提供的信息,但我只想将第一个按钮作为扩展器,因此单击“折叠所有TabItems”可使用TabControl模板更新我的答案,以实现对同一控件的更多控制。
<Expander>
<Expander.Header>
<TabControl>
<TabItem x:Name="PositionsTabHeader" Header="Positions"/>
<TabItem x:Name="OrdersTabHeader" Header="Orders"/>
<TabItem x:Name="TradesTabHeader" Header="Trades"/>
</TabControl>
</Expander.Header>
<TabControl>
<TabItem Visibility="Collapsed"
IsSelected="{Binding ElementName=PositionsTabHeader, Path=IsSelected}">
Positions go here
</TabItem>
<TabItem Visibility="Collapsed"
IsSelected="{Binding ElementName=OrdersTabHeader, Path=IsSelected}">
Orders go here
</TabItem>
<TabItem Visibility="Collapsed"
IsSelected="{Binding ElementName=TradesTabHeader, Path=IsSelected}">
Trades go here
</TabItem>
</TabControl>
</Expander>