windows phone 8如何像支点或panaroma控件一样刷局部html文件?

时间:2013-11-29 14:47:31

标签: windows-phone-8

我是Windows Phone 8的初学者,实际上我创建的项目在本地文件夹中有一些html文件(40个文件),我想在用户水平滑动时逐个显示所有html文件枢轴或panaroma控制。, 我通过使用网络浏览器控制静态地知道如何调用本地html文件,我在许多项目中都这样做了。但是当用户水平滑动时,我不知道逐个显示所有文件。

我尝试在枢轴项目中动态添加Web浏览器控件。

这是我在

中创建带有Web浏览器控件的动态数据透视表项的代码

" pivotPage.cs"

  void pivotPage_Loaded(object sender, RoutedEventArgs e)
         {
              for (int i = 0; i < 40; i++)
              {
               string _url = "ways/a"+ i + ".html";
               PivotItem newPivotItem = new PivotItem();
               newPivotItem.Margin = new Thickness(0, -10, 0, 0);
               WebBrowser newWebBrowser = new WebBrowser();
               newWebBrowser.Navigate(new Uri(_url, UriKind.Relative));
               newPivotItem.Content = newWebBrowser;
               pivotList.Items.Add(newPivotItem);
              }
         }

我的pivotPage.xaml是

  <Grid x:Name="ContentPanel" Margin="0,0,0,0" Grid.RowSpan="2" Background="#FF378FB1">
        <phone:Pivot x:Name="pivotList" Background="White" Margin="10,130,10,80"/>
    </Grid>

如果我尝试创建&#34; 25&#34;像这样使用for循环的枢轴项目意味着我得到了25个枢轴项目的输出,我可以滑动。,像这样的代码

  for(int i=0; i<25; i++)
  {
    string _url = "ways/a"+ i + ".html";
    PivotItem newPivotItem = new PivotItem();
    newPivotItem.Margin = new Thickness(0, -10, 0, 0);
    WebBrowser newWebBrowser = new WebBrowser();
    newWebBrowser.Navigate(new Uri(_url, UriKind.Relative));
    newPivotItem.Content = newWebBrowser;
    pivotList.Items.Add(newPivotItem);
  }

但是我需要显示40个文件,所以如果我这样的条件意味着

  for (int i = 0; i < 40; i++)
  {

  }

它没有显示任何内容,应用已关闭。

是否显示最大no.of枢轴项目的限制???

  could you please some one try to give me solution for this and also 

  tell me that is there any control for showing html files like swipe view?

简单地说我的要求是&#34;如何在WP8应用程序中逐个显示本地html文件,如滑动视图?&#34;

提前感谢。我在等待一些答案。

1 个答案:

答案 0 :(得分:0)

最后,我发现这样的答案,对我有用。

步骤1:显示内容集合(html,图像,文本等)使用数据绑定概念在xaml页面中创建UI。,

    <phone:Pivot x:Name="pivotList" Margin="0,0,0,80" ItemsSource="{Binding}" >
           <!-- <phone:Pivot.Title>
                <TextBlock Text="40 ways to lose belly fat" FontSize="28" Foreground="#FF00FFEE"></TextBlock>
            </phone:Pivot.Title>-->
            <phone:Pivot.HeaderTemplate>
                <DataTemplate>
                    <TextBlock Text="{Binding _title}" Foreground="#FF00FFEE" FontSize="48"></TextBlock>
                </DataTemplate>
            </phone:Pivot.HeaderTemplate>
            <phone:Pivot.ItemTemplate>
                <DataTemplate>
                <phone:WebBrowser Name="browser" Source="{Binding _url}" Margin="20,-10,20,0">
                </phone:WebBrowser>
                </DataTemplate>
            </phone:Pivot.ItemTemplate>
        </phone:Pivot>

然后在.cs文件后面的代码中

   public partial class pivotPage : PhoneApplicationPage
{
    private List<TList> _pivotList;
    public pivotPage()
    {
        InitializeComponent();
        Loaded += pivotPage_Loaded;

    }

    void pivotPage_Loaded(object sender, RoutedEventArgs e)
    {
        _pivotList = new List<TList>();
        int j = 1;
        for (int i = 0; i < 40; i++)
        {
            _pivotList.Add(new TList 
            {
                _title="flat Belly Tip-"+j,
                _url="ways/a"+ i + ".html"
            });
            j++;
        }
        pivotList.DataContext = _pivotList;
    }

我从这篇文章中得到了这个想法

  http://stackoverflow.com/questions/14004493/databinding-dynamic-pivot

希望这会有所帮助。