Esempio n. 1
0
        public ITdiTab OpenTab(Func <ITdiTab> newTabFunc, ITdiTab afterTab = null, Type[] argTypes = null, object[] args = null)
        {
            ITdiTab tab      = newTabFunc.Invoke();
            Type    tabType  = tab.GetType();
            string  hashName = TabHashHelper.GetTabHash(tabType, argTypes ?? new Type[] { }, args ?? new object[] { });

            return(OpenTab(hashName, () => tab, afterTab));
        }
Esempio n. 2
0
 public override Widget Resolve(ITdiTab tab)
 {
     try {
         return(base.Resolve(tab));
     } catch (WidgetResolveException ex) {
         try {
             var baseOnNameResolver = new BasedOnNameTDIResolver(usedAssemblies);
             return(baseOnNameResolver.Resolve(tab));
         } catch (Exception e) {
             throw new InvalidProgramException($"Невозможно найти View для ViewModel вкладки: {tab.TabName}. Имя класса ViewModel: {tab.GetType()} не соответствует шаблону именования или не настроено правильное сопоставление");
         }
     }
 }