在Silverlight 5 Prism 4.1 Unity, MVVM应用程序c#中刷新后页面无响应

本文关键字:刷新 响应 应用程序 MVVM Prism Silverlight Unity | 更新日期: 2023-09-27 18:13:26

我看到一个奇怪的问题在我的应用程序是在Silverlight 5, Prism 4.1 Unity & &;MVVM + teleerik Control.

到目前为止,我的应用程序中只有1个模块。当我从VS2013和浏览器中运行应用程序时,屏幕加载良好。在此之后,当我刷新屏幕时,屏幕上没有按钮。它变成了静态的表演。

当我最小化浏览器&过了一段时间,我再次打开浏览器,屏幕上除了灰色什么也看不见。

这是发生在IE现在。火狐浏览器,我从来没见过这样的问题。

我的MVVM模式如下

Abs。基础设施项目:

interface View.IView{ IViewModel ViewModel{set;get;}}
interface ViewModel.IViewModel {IView View{set;get;}}
class ViewModel.ViewModelBase, INotifyPropertyChanged{ 
   public ViewModelBase(IView view){ 
    View=view
  } 
 ...
}

现在我的模块:

interface View.IUserTabView :IView{}
 //class of UserTab.xaml
 class View.UseTab : UserControl, IView{
   // Setting DataContext as IUserTabViewModel
 }
interface ViewModel.IUserTabViewModel : IViewModel{ ...} 
class ViewModel.UserTabViewModel : ViewModelBase, IUserTabViewModel{ 
  ...
  // Command , Etc
} 

My Module:IModule

public class AdminModule : IModule
{
    private IRegionManager regionManager;
    IUnityContainer container;
    public AdminModule(IUnityContainer container, IRegionManager regionManager)
    {
        this.container = container;
        this.regionManager = regionManager;
    }
    public void Initialize()
    {
        this.RegisterViewsAndServices();
        if (this.regionManager.Regions.ContainsRegionWithName(RegionNames.FOOTER_REGION))
        {
            var vm1 = this.container.Resolve<IAdministratorTabContainerViewModel>();
            this.regionManager.Regions[RegionNames.HPMS_CENTER_REGION].Add(vm1.View);
            // Tab Navigation Set Up
            this.regionManager.RegisterViewWithRegion(RegionNames.HPMS_ADMINTAB_REGION, typeof(IUsersTabViewModel));
        }
    }
  protected void RegisterViewsAndServices() {
        //Telerik.Windows.Controls.RadGridView
        //this.container.RegisterType<RadGridView>();
        this.container.RegisterType<IUsersTabView, UsersTab>();
        this.container.RegisterType<IUsersTabViewModel, UsersTabViewModel>();
  }
}

所有的DelegateCommand, aggregatecommand等,我在ViewModels类构造函数中初始化,所以当我第一次运行时,他们也运行"bool CanAdd"。(这是默认行为吗?)

  • 是否有内存泄漏?
  • 我怎样才能纠正这个问题?- prism, MVVM,OpenRIA等的任何错误实现/方法?

我写了这段代码供参考,如果注销等或任何生命周期问题是为了更好地理解。App模块包含1个RadTabControl, 1个Tab,其中有RadGRidView,这就是全部。当然,我有OpenRIA域服务的数据(EF6 &

在Silverlight 5 Prism 4.1 Unity, MVVM应用程序c#中刷新后页面无响应

你说的"刷新"是指F5键刷新吗?如果是这样,是的,这是Internet Explorer的新版本的问题…IE10页面刷新时Silverlight应用消失

http://social.msdn.microsoft.com/forums/lync/en - us/db07a063 - 35 - e2 - 4385 - bf91 fe9324ee3d31/silverlight -应用-消失- -页面刷新在ie10

解决办法似乎要么是强制兼容模式(低至IE7或ie8),要么是用Javascript动态加载Silverlight对象。