Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 带扩展器的WPF控制_C#_Wpf_Silverlight_Xaml_Expression Blend - Fatal编程技术网

C# 带扩展器的WPF控制

C# 带扩展器的WPF控制,c#,wpf,silverlight,xaml,expression-blend,C#,Wpf,Silverlight,Xaml,Expression Blend,当用户单击Expander按钮时,如何使用Expander按钮创建选项卡控件?折叠所有选项卡项并再次单击将可见 这里有一个例子 <ItemsControl> <ItemsControl.ItemsPanel> <ItemsPanelTemplate> <StackPanel Orientation="Horizontal" /> </Ite

当用户单击Expander按钮时,如何使用Expander按钮创建选项卡控件?折叠所有选项卡项并再次单击将可见


这里有一个例子

    <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>