在pivotitem上正确显示文本块

时间:2012-01-29 08:42:17

标签: c# windows-phone-7

我很难尝试在pivotitem中显示我的文本块的样子。我如何使它看起来像你创建枢轴项目时的默认值?

谢谢! :)

private void LoadFromLocalStorage()
{
    using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
    {
        string[] fileNames = store.GetFileNames();

        foreach (string s in fileNames)
        {

            TextBlock txt = new TextBlock() { Text = s };
            container.Children.Add(txt);


            //PivotItem pitem = new PivotItem(); //create pivotitem                
            //pitem.Content =  //set pivotitem content
            //MyPivot.Items.Add(pitem);//Add pivotitem to your pivot

        }
    }
}

XAML

 <controls:Pivot Title="MY APPLICATION">
            <!--Pivot item one-->
            <controls:PivotItem Header="item1">

                    <StackPanel x:Name="container"></StackPanel>
            </controls:PivotItem>

1 个答案:

答案 0 :(得分:3)

修改数据透视表的HeaderTemplate。这是默认模板:

<DataTemplate x:Key="DataTemplate1">
            <Grid>
                <TextBlock TextWrapping="Wrap" Text="{Binding}" d:LayoutOverrides="Width, Height"/>
            </Grid>
        </DataTemplate>

使用

<controls:Pivot Title="MY APPLICATION" HeaderTemplate="{StaticResource DataTemplate1}">

编辑:如果您尝试在数据透视表中显示项目,则应使用ListBox。

将其添加到页面XAML的顶部。

 <phone:PhoneApplicationPage.Resources>
            <DataTemplate x:Key="DataTemplate1">
                <Grid>
                    <TextBlock Margin="0,0,1,0" Text="{Binding}" TextWrapping="Wrap" d:LayoutOverrides="Width, Height" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
                </Grid>
            </DataTemplate>
        </phone:PhoneApplicationPage.Resources>

在您的PivotItem中,添加一个列表框:

<ListBox x:Name="lbFiles" HorizontalContentAlignment="Stretch" ItemTemplate="{StaticResource DataTemplate1}">

                </ListBox>

然后,更改获取文件名的功能:

private void LoadFromLocalStorage()
{
    using (IsolatedStorageFile store = IsolatedStorageFile.GetUserStoreForApplication())
    {
        string[] fileNames = store.GetFileNames();
        var files = new ObservableCollection<string>();

        foreach (string s in fileNames)
        {
            files.Add(s);
        }
        lbFiles.ItemsSource = files;
    }
}

此处,列表框'ItemSource'设置为文件名列表。

如果你不熟悉,你应该阅读一些WP7教程。这是非常基本的。

http://create.msdn.com/en-us/education/quickstarts