Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Windows phone windows phone页面加载速度_Windows Phone - Fatal编程技术网

Windows phone windows phone页面加载速度

Windows phone windows phone页面加载速度,windows-phone,Windows Phone,从一个页面到下一个页面,UI中绑定了一个属性,这个比例需要花费一次浪费时间的操作,所以页面不会长时间出现,有没有办法提高速度 protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) { string value = string.Empty; IDictionary<string, string> queryString = this.Navigati

从一个页面到下一个页面,UI中绑定了一个属性,这个比例需要花费一次浪费时间的操作,所以页面不会长时间出现,有没有办法提高速度

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) {
    string value = string.Empty;
    IDictionary<string, string> queryString = this.NavigationContext.QueryString;
    if (queryString.ContainsKey("Type"))
    {
        this.Type = queryString["Type"];
        new Thread(() => {
            mtv.AddDistanceForList();
        }).Start();

    }
    else
    {
            GetMovieThreater();
    }
    base.OnNavigatedTo(e); }  

private void GetMovieThreater() {
    string movieId = PhoneApplicationService.Current.State["MovieId"] as string;

    mtv.SelectThreaterByMovie(movieId);
    mtv.AddDistanceForList();  }
受保护的覆盖无效OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e){
字符串值=string.Empty;
IDictionary queryString=this.NavigationContext.queryString;
if(queryString.ContainsKey(“类型”))
{
this.Type=queryString[“Type”];
新线程(()=>{
mtv.AddDistanceForList();
}).Start();
}
其他的
{
GetMovieThreater();
}
base.OnNavigatedTo(e);}
私有无效GetMovietThreater(){
string movieId=PhoneApplicationService.Current.State[“movieId”]作为字符串;
mtv.选择威胁视频(电影ID);
mtv.AddDistanceForList();}
在视图模型中,如下所示:

private ObservableCollection<Threater> threaters; public ObservableCollection<Threater> Threaters {
    get { return threaters; }
    set
    {
        if (threaters != value)
        {
            threaters = value;
            NotifyPropertyChanged("Threaters");
        }
    } }

private CollectionViewSource filteredThreater; public CollectionViewSource FilteredThreater {
    get { return filteredThreater; }
    set
    {
        filteredThreater = value;
        NotifyPropertyChanged("FilteredThreater");
    } } This function wate time!!! public void SelectThreaterByMovie(string movieId) {
    Threaters.Clear();

    if(MovieDataAllMovies.Threaters!=null)
    {
      foreach(var i in MovieDataAllMovies.MoviePlans){
          if (i.MovieId == movieId)
          {
              MovieDataAllMovies.Threaters.ForEach((e) =>
              {
                  if (i.TheaterId == e.Tid.ToString())
                  {
                      Threaters.Add(e);
                  }
              });
          }
      }
      Deployment.Current.Dispatcher.BeginInvoke(() =>
      {
          this.FilteredThreater.Source = Threaters;
      });    } }
私人可观察收集威胁;公众可观察到的收集威胁{
获取{return threaters;}
设置
{
如果(威胁者!=值)
{
威胁=价值;
通知财产变更(“威胁者”);
}
} }
私有收集ViewSource FilteredThreeter;公共集合ViewSource FilteredThreader{
获取{return filteredthreader;}
设置
{
过滤水=数值;
NotifyPropertyChanged(“过滤水”);
}}此函数等待时间!!!public void SelectThreaterByMovie(字符串电影ID){
Threaters.Clear();
if(MovieDataAllMovies.Threaters!=null)
{
foreach(MovieDataAllMovies.MoviePlans中的var i){
如果(i.MovieId==MovieId)
{
MovieDataAllMovies.Threaters.ForEach((e)=>
{
if(i.theateId==e.Tid.ToString())
{
威胁者。添加(e);
}
});
}
}
Deployment.Current.Dispatcher.BeginInvoke(()=>
{
this.filteredthreader.Source=威胁者;
});    } }

有一篇非常好的文章,介绍了在与长时间运行的Web服务调用交互时如何使用性能进度条处理这种情况,文章页面底部有示例代码

引用Dan Clarke的话,“我非常希望在我的Windows Phone 7应用程序中有一个全局性能进度条,这样当我与web服务交互时,用户有一个一致的参考框架。要求很简单,一个在所有页面上显示的进度条,没有任何特殊要求(即,没有自定义控件、特殊代码段等)。它应该在一个地方进行管理,并且易于扩展。幸运的是,Silverlight提供的极大灵活性使这成为一个棘手的问题:

这个选项至少会让你的用户知道页面是以最小的速度加载的