页面上的标签栏 - Metro App

时间:2013-01-10 16:50:06

标签: c# xaml tabs microsoft-metro tabbar

我想在页面上创建一个标签栏;标签栏由2个或更多按钮组成,这些按钮在同一页面上加载不同的内容(表单或表格)。 我怎么能做到这一点? 谢谢。

我从Microsoft Windows商店应用开发部分下载了一些项目示例;其中一些有一个simil tabbar解决方案。我正在研究代码,但我希望在示例或文档方面有一些替代方案。

1 个答案:

答案 0 :(得分:2)

我认为这个解决方案是合理的:http://blog.davemdavis.net/2012/10/03/simulating-a-tab-control-in-a-windows-8-application/您可能需要调整它。但他为你做了很多工作。

如果是我,我会做更多这样的事情:

<Grid Width="400" Height="500">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="100" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Rectangle Grid.Column="0" Fill="SteelBlue" />
    <ListBox x:Name="ItemList" Margin="0,50,0,0"
                xmlns:sys="clr-namespace:System;assembly=mscorlib">
        <ListBox.ItemTemplate>
            <DataTemplate>
                <TextBlock Text="{Binding}" Margin="10" />
            </DataTemplate>
        </ListBox.ItemTemplate>
        <sys:String>One</sys:String>
        <sys:String>Two</sys:String>
        <sys:String>Three</sys:String>
        <sys:String>Four</sys:String>
        <sys:String>Five</sys:String>
    </ListBox>
    <!-- http://msdn.microsoft.com/en-us/library/ms742554(v=vs.85).aspx -->
    <Rectangle Grid.Column="1" Fill="LightSteelBlue" x:Name="RightArea" />
    <ContentControl Content="{Binding SelectedItem, ElementName=ItemList}" 
            Style="{StaticResource ContentControlStyle2}" Grid.Column="1">
        <ContentControl.ContentTemplate>
            <DataTemplate>
                <Grid Width="300" Height="500">
                    <TextBlock Text="{Binding}" Margin="40" 
                        FontSize="50" Foreground="Black" />
                </Grid>
            </DataTemplate>
        </ContentControl.ContentTemplate>
    </ContentControl>
</Grid>

这看起来像这样:

enter image description here

祝你好运!