This question is locked. New answers and comments are not allowed.
Hello,
In our product we require an increase for isolated storage above 1MB, we prompt the user to inform them of this and then we pop-up the standard Silverlight increase isolated storage dialog. The issue is that we used RadWindow.Confirm() for this as it must be "user initiated" (e.g. button-click). In the code below IncreaseQuotaTo()now always returns false even though the silverlight pop-up never opens.
This worked with 2013.1.0220 DLLS, but not with the new Q3 2013 (2013.3.1016).
Our code looked something like this:
The above worked very well for over a year, we had to put a quick fix in since this wouldn't allow log-ins.
This quick fix worked well but is less than ideal:
We could keep it like this or create our own prompt dialog with button events. My question is: will this change (be fixed) in the future or is this behavior telerik is going for?
Thanks,
Patrick
In our product we require an increase for isolated storage above 1MB, we prompt the user to inform them of this and then we pop-up the standard Silverlight increase isolated storage dialog. The issue is that we used RadWindow.Confirm() for this as it must be "user initiated" (e.g. button-click). In the code below IncreaseQuotaTo()now always returns false even though the silverlight pop-up never opens.
This worked with 2013.1.0220 DLLS, but not with the new Q3 2013 (2013.3.1016).
Our code looked something like this:
DialogParameters parameters = new DialogParameters();parameters.Content = "You must increase storage space to use this product. Increase storage?";parameters.OkButtonContent = "Yes";parameters.CancelButtonContent = "No";parameters.Theme = new Expression_DarkTheme();parameters.Closed = (s, args) =>//having a breakpoint in this function causes IncreaseQuotaTo to always return false. It must disrupt the 'user initiated-ness' of it.{ RadWindow dlg = (RadWindow)s; if (dlg.DialogResult == true) { using (var store = IsolatedStorageFile.GetUserStoreForApplication()) { //Request more quota space Int64 newQuotaSize = 250 * 1024 * 1024; //250MB if (store.IncreaseQuotaTo(newQuotaSize)) { LoadApplication(); } else { Logout(); } } } else { Logout(); }};RadWindow.Confirm(parameters);The above worked very well for over a year, we had to put a quick fix in since this wouldn't allow log-ins.
This quick fix worked well but is less than ideal:
RadWindow.Confirm(parameters); //this allows the window to draw then drill down to get the OK button to get the event, this allows store.IncreaseQuotaTo() to work correctly for a user init event Deployment.Current.Dispatcher.BeginInvoke(() => { var windows = RadWindowManager.Current.GetWindows(); if (windows != null) { foreach (var win in windows) { var buttons = win.ChildrenOfType<RadButton>(); foreach (var button in buttons) { if (button.Name == "OK") { button.Click += isolatedStorageIncreaseDialogClosed; return; } } } } });}private void isolatedStorageIncreaseDialogClosed(object sender, RoutedEventArgs e){ using (var store = IsolatedStorageFile.GetUserStoreForApplication()) { // Request more quota space Int64 newQuotaSize = 250 * 1024 * 1024; //250MB if (store.IncreaseQuotaTo(newQuotaSize)) { LoadApplication(); } else { Logout(); } }}We could keep it like this or create our own prompt dialog with button events. My question is: will this change (be fixed) in the future or is this behavior telerik is going for?
Thanks,
Patrick