2012-01-29 82 views
1

我很难尝试显示我的文本块在pivotitem中的外观。我如何让它看起来像你创建一个数据透视项目时得到的默认值?在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> 

回答

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

编辑:如果你想显示在PivotItem你的项目,你应该使用一个列表框。

将此添加到Page 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

+0

我在哪里把这个 CodeGuru 2012-01-29 09:06:27

+0

在页面资源或应用程序资源。应用程序资源是全球性的,而页面是特定于给定页面的。例如,打开App.xaml.cs,并将其粘贴到 2012-01-29 09:07:41

+0

嗯,它表示属性'LayoutOverrides'没有在'Textblock'类型中找到 – CodeGuru 2012-01-29 09:11:41