I'll be brutally honest, I'm not a fan of doing web front ends (UIs). I've done my share of Silverlight 5, ASP.NET AJAX (relatively new to this), ASP.NET Core, HTML, HTML5, JavaScript and I find them incredibly cumbersome, wordy, and often filled with overly complex methods to accomplish the most simple of tasks.
I've gotten used to Silverlight 5's OOB and elevated privileges (required for one of my apps), it's the closest experience to a Windows Forms app which is what our user base really prefer. However, since the very powerful SL5 has long since be killed and has a support ending date of October 2021, I'm looking into alternatives to migrate our SL5 and/or ASP.NET code over to our IIS web servers ... what we need from our next platform:
1. OOB or something that can hide the Browser (i.e. no forward or backward buttons) from the user
2. Needs unrestricted access to file locations on a "clients" drive (does NOT need access to OS restricted areas but does need to get to folders like "C:\Some3rdparty\..." or a network share "\\Win10_P1\DataFiles\..."
3. Support for Grids with editable content and checkboxes, images, etc. that doesn't require extensive lines of code just to respond to a checkbox in a grid that is bound to data
Is there any new/current web UI technology that can support the above running from IIS web server?
Alternatively we would consider stand alone apps so long as we could use ONE development tool (i.e. VS and source code set) to build and deploy them across platforms (iOS, Windows, Android).
Thoughts?
Cheers, Rob.
EDIT: I did ask this same question in 2010 and it's why we went with Silverlight 5 as it was the only technology that could fulfill the 3 requirements above ... but as we know it was deemed a threat by Apple and hence Microsoft caved in.
Hello,
I ran into a scenario where clicking randomly with the mouse to change the date eventually results in a crash. It typically takes 10 or more clicks in relatively fast succession. I was not able to find a specific pattern that causes the crash. However, I can recreate it more reliably when the calendar has MaxDate set.
Here's the crash stack trace:
at System.ThrowHelper.ThrowAddingDuplicateWithKeyArgumentException(Object key)
at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at Telerik.UI.Xaml.Controls.Input.Calendar.XamlDecorationLayer.GetCalendarDecorationVisual(CalendarNode node, CalendarDecorationType decorationType)
at Telerik.UI.Xaml.Controls.Input.Calendar.XamlDecorationLayer.UpdateCalendarCellDecorations(IEnumerable`1 cellsToUpdate)
at Telerik.UI.Xaml.Controls.Input.Calendar.XamlDecorationLayer.UpdateUI(IEnumerable`1 cellsToUpdate)
at Telerik.UI.Xaml.Controls.Input.RadCalendar.UpdatePresenters(IEnumerable`1 cellsToUpdate)
at Telerik.UI.Xaml.Controls.Input.Calendar.CurrencyService.UpdatePresenters(DateTime oldCurrentDate, DateTime newCurrentDate)
at Telerik.UI.Xaml.Controls.Input.Calendar.CurrencyService.<>c__DisplayClass19_0.<
AsyncUpdateCurrencyPresenters
>b__0()
Here's the code I used:
XAML
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
ContentPage
xmlns
=
"http://xamarin.com/schemas/2014/forms"
x:Class
=
"CalendarCrash.MainPage"
xmlns:telerikInput
=
"clr-namespace:Telerik.XamarinForms.Input;assembly=Telerik.XamarinForms.Input"
>
<
Grid
>
<
Grid.RowDefinitions
>
<
RowDefinition
Height
=
"1*"
/>
<
RowDefinition
Height
=
"1*"
/>
</
Grid.RowDefinitions
>
<
telerikInput:RadCalendar
HorizontalOptions
=
"CenterAndExpand"
VerticalOptions
=
"CenterAndExpand"
x:Name
=
"calendar"
/>
<
Label
Grid.Row
=
"1"
Text
=
"Calendar crash"
HorizontalOptions
=
"CenterAndExpand"
VerticalOptions
=
"CenterAndExpand"
/>
</
Grid
>
</
ContentPage
>
Code behind:
using System;
using Xamarin.Forms;
namespace CalendarCrash
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
calendar.MaxDate = DateTime.Now;
}
}
}
Could you recommend any workaround or does this require a bug fix on your end?
Hi,
I have a listview with filters, filter click is changing the listview items. (similar to ebay app)
if the user filter and wait until layout is completing there is no problem.
when the user filter twice fast (without waiting for the previous filter to apply) this exception is thrown:
Java.Lang.IllegalStateException has been thrown
Added View has RecyclerView as parent but view is not a real child. Unfiltered index:0
this came from RadListView.java:538 at com.telerik.widget.list.RadListView.onLayout(RadListView.java:538)
I'm using forms, but this is occur only in android (ios is working)
any chance to fix this in the next release?
Thank You
NU1605 Detected package downgrade: Xamarin.Forms from 3.1.0.697729 to 3.1.0.637273. Reference the package directly from the project to select a different version.
Telerik.UI.for.Xamarin.Trial 2018.3.912.1 -> Xamarin.Forms (>= 3.1.0.697729)
When the Checkboxes were released, I added them to several screens within my app and they all worked fine without any issues.
Recently, they have started to behave strange and now no longer work. I have the same problems on every screen that uses them.
When you press the checkbox, you see the tick appear (so you know it has been selected) and then straight away it is deselected. Attaching a Command to the checkbox so I can monitor what happens when it is pressed, the Command is actually being called twice every time I select the checkbox.
As this issue has started to happen on every screen that uses the checkboxes (even screens I haven't changed the code on for months) I was hoping someone could assist me in fixing this problem. It's possible that I have upgraded a few packages recently (ie. Xamarin Forms, Visual Studio etc.) so I don't know whether a conflict has occurred somewhere.
Has anyone else seen this issue or know what I can do to fix it?
Hey,
How can we apply a different Template for the selected item?
Thanks,
Mano
Hello,
According to the help for UI for Xamarin:
"By default the options button is represented by a string symbol that could be changed through OptionsButtonText and OptionsButtonFontFamily properties."
I have not been able to get this to work and was hoping for an example. Is there a listing somewhere of the symbols available using the default font family? I am specifically looking to change the "dots" to a "gear".
Thank you in advance,
George
Hello,
I have 3 chart series on my page, bar, line, and scatterpoint.
I successfully make the bar to be coloured (5 colours) as i programmed. But there is no PaletteMode property on LineSeries and ScatterPointSeries.
Why and How the code should be?
Here is my code,
this code only make the line and scatterpoint series 1 color, while my _viewmodel.CustomPalette has actually 5 colours (with 5 items).
01.
void
setChartData()
02.
{
03.
chartView.Children.Clear();
04.
05.
06.
string
itemSource =
"_SummaryList"
;
07.
string
categoryBinding =
"Short_Name"
;
08.
string
valueBinding = _viewmodel.ChartValue;
09.
10.
var hAxis =
new
CategoricalAxis();
11.
hAxis.LabelFontSize = 6;
12.
13.
var vAxis =
new
NumericalAxis();
14.
vAxis.LabelFontSize = 7;
15.
vAxis.LabelFormat =
"#,#.#"
;
16.
17.
var chart =
new
RadCartesianChart
18.
{
19.
HorizontalAxis = hAxis,
20.
VerticalAxis = vAxis,
21.
VerticalOptions = LayoutOptions.FillAndExpand,
22.
HorizontalOptions = LayoutOptions.FillAndExpand
23.
};
24.
25.
switch
(_viewmodel.ChartType)
26.
{
27.
case
"Bar"
:
28.
var bar =
new
BarSeries();
29.
bar.SetBinding(ChartSeries.ItemsSourceProperty,
new
Binding(itemSource));
30.
bar.ValueBinding =
new
PropertyNameDataPointBinding(valueBinding);
31.
bar.CategoryBinding =
new
PropertyNameDataPointBinding(categoryBinding);
32.
bar.PaletteMode = SeriesPaletteMode.DataPoint;
33.
bar.ShowLabels =
true
;
34.
chart.Series.Add(bar);
35.
chart.Palette = _viewmodel.CustomPalette;
36.
break
;
37.
case
"Line"
:
38.
var lines =
new
LineSeries();
39.
lines.SetBinding(ChartSeries.ItemsSourceProperty,
new
Binding(itemSource));
40.
lines.ValueBinding =
new
PropertyNameDataPointBinding(valueBinding);
41.
lines.CategoryBinding =
new
PropertyNameDataPointBinding(categoryBinding);
42.
lines.ShowLabels =
true
;
43.
chart.Series.Add(lines);
44.
chart.Palette = _viewmodel.CustomPalette;
45.
break
;
46.
case
"Point"
:
47.
var point =
new
ScatterPointSeries();
48.
point.SetBinding(ChartSeries.ItemsSourceProperty,
new
Binding(itemSource));
49.
point.YValueBinding =
new
PropertyNameDataPointBinding(valueBinding);
50.
point.XValueBinding =
new
PropertyNameDataPointBinding(categoryBinding);
51.
point.ShowLabels =
true
;
52.
chart.Series.Add(point);
53.
chart.Palette = _viewmodel.CustomPalette;
54.
break
;
55.
}
56.
57.
chartView.Children.Add(chart);
58.
}
How i can set to false the header row visibility? I dont' want use header row.
Thanks