User Profile & Activity

bap Member
Page
of 3
Posted: June 6, 2011 10:58 AM

btw.  your developers are incredible.  i've spent the last 2 weeks learning your clientUI framework and absolutely love it!  keep up the great work!

hello?  anyone there?

I'm still having trouble getting a hyperlink button added to a column of the gridview.  I want to navigate to another page when someone clicks on the link in a row.  Can someone please help me?

never mind.  i had 2 external xaps.  the second one was licesned.  the first one (displayed) was not.  It appear that once an unlicensed xap is loaded then the message never goes away.  once i generated the licenses.islicx and key for the 2nd xap, all "unlicensed" messages went away.

I too am getting this error of "MissingMethodException" using DevForce.6.1.0 when running the Walkthrough for "Bind UXGridView to DevForce Services using MVVM Pattern".

I just downloaded 6.1.0 from IdeaBlade's web site.  While we are waiting for a fix from you guys, how/where do I get 6.0.9?

Thanks Martin.  I appreciate it!

This has been a very educational thread.  Thank you all for this info.  We've been trying to decide on WFC Ria or Devforce and it appears that Devforce is the way to go.  Client side caching is super important for a large SL LOB application we plan to start dev on.  Thanks again!

I think i figured it out.  i had to configure the URIMapping to use type name (per your docs)

example below:

<Intersoft:UriMapping Uri="/MyApp1/Files" MappedUri="/MyApp1;/MyApp1.Views/UXPage1"/>


 

Hi Jimmy,

Thanks for the response.  I simply want to modularize my application and have pages within multiple xaps load within the same "parent" UXFrame. 

Consider your OutlookNavApplication template.  I would like to create a parent application (Main.xap) using the OutlookNavigationApplication template.  I would then like to use the basic Intersoft ClientUI Application template to create external xaps.  I would like each NavigationPaneItem in the Main.xap (Overview, Mail, Contact etc...) be associated to an external xap (Overview.xap, Mail.xap, Contact.xap etc...).  When a user clicks on Overview NavigationPanelItem in Main.xap the Overview.xap downloads and installs and the default page is displayed in the Main.xap UXFrame.  When a use clicks a NavigationButton item within the Overview NavigationPaneItem, I would like the UXFrame to load the associated view from within Overview.xap views folder. Can this be done?

If not, does this mean i need to make each external xap using the OutlookNavApplication template?  That doesn't seem like it will work. 

Any help would be much appreciated!

 

 

Posted: May 13, 2011 8:16 PM

More composite app questions:

I've got a composite app (ClientUIOutlookNavApp1) with 2 external apps (App1 & App2).  In fiddler, the external apps always download each time i run ClientUIOutlookNavApp1 even when they have not changed.  Why doesn't UXShell load App1 and App2 from local storage? 

 

here's the startup code in ClientUIOutlookNavApp1.  any suggestions much appreciated!

public partial class App : Application
    {
        // define the ApplicationID used to reference this application from UXShell or other containers
        public static string ApplicationID = "ClientUIOutlookNavApp1";
        public static string DataFolder = "/ClientUIOutlookNavApp1;component/Assets/Data/";
        public static string ImagesFolder = "/ClientUIOutlookNavApp1;component/Assets/Images/";

        public App()
        {
            this.Startup += this.Application_Startup;
            this.Exit += this.Application_Exit;
            this.UnhandledException += this.Application_UnhandledException;

            InitializeComponent();
            InitializeShell();
        }

        private void InitializeShell()
        {        
            UXShell shell = new UXShell();
            shell.RootApplication = UXShell.CreateApplicationFromType(typeof(App), ApplicationID, ApplicationID);
            shell.CheckForUpdates = true;  
            shell.AutoInstallOnDownload = true;
            shell.AutoInstallUpdates = true;
            //shell.InstallStorageScope = StorageScope.Site;          
            this.ApplicationLifetimeObjects.Add(shell);      
        }

        private void Application_Startup(object sender, StartupEventArgs e)
        {
           
            // create a new ApplicationPackage that represents App1

            ApplicationPackage app1 = new ApplicationPackage()
            {
                ID = "App1",
                Name = "App1",
                Source = new Uri("App1.xap", UriKind.RelativeOrAbsolute),
                EnableMetadataDiscovery = true,
                MainType = "App1.MainPage",
                VirtualPathIdentity = "/App1",
                Size = -1 // auto detect the file size at runtime
            };
            

            // add the application to the UXShell
            UXShell.Current.Applications.Add(app1);

            ApplicationPackage app2 = new ApplicationPackage()
            {
                ID = "App2",
                Name = "App2",
                Source = new Uri("App2.xap", UriKind.RelativeOrAbsolute),
                EnableMetadataDiscovery = true,
                Size = -1 // auto detect the file size at runtime
            };
            
            // add the application to the UXShell
            UXShell.Current.Applications.Add(app2);
          
            this.RootVisual = new MainPage();        
        }

        private void Application_Exit(object sender, EventArgs e)
        {

        }

        private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
        {
            // If the app is running outside of the debugger then report the exception using
            // the browser's exception mechanism. On IE this will display it a yellow alert 
            // icon in the status bar and Firefox will display a script error.
            if (!System.Diagnostics.Debugger.IsAttached)
            {
                e.Handled = true;

                // Displays a user-friendly error page to the primary navigation (UXFrame) of the application
                Deployment.Current.Dispatcher.BeginInvoke(delegate { DisplayErrorToNavigationFrame(e); });
            }
        }

        private void DisplayErrorToNavigationFrame(ApplicationUnhandledExceptionEventArgs e)
        {
            UXFrame frame = UXFrame.GetPrimaryNavigator(this.RootVisual);

            if (frame != null)
            {
                frame.Navigate(new Uri("/Error", UriKind.Relative), e);
            }
            else
            {
                ReportErrorToDOM(e);
            }
        }

        private void ReportErrorToDOM(ApplicationUnhandledExceptionEventArgs e)
        {
            try
            {
                string errorMsg = e.ExceptionObject.Message + e.ExceptionObject.StackTrace;
                errorMsg = errorMsg.Replace('"', '\'').Replace("\r\n", @"\n");

                System.Windows.Browser.HtmlPage.Window.Eval("throw new Error(\"Unhandled Error in Silverlight Application " + errorMsg + "\");");
            }
            catch (Exception)
            {
            }
        }
    }
All times are GMT -5. The time now is 11:43 PM.
Previous Next