Telerik Forums
UI for Xamarin Forum
6 answers
1.5K+ views

Hi All,

I have installed a licensed version of Telerik.XamarinFroms.UI and can`t build my project.

SeverityCodeDescriptionProjectFileLineSourceSuppression State
ErrorException while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Telerik.XamarinForms.SkiaSharp, Version=2017.1.10118.233, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'Telerik.XamarinForms.SkiaSharp.dll'
   at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
   at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
   at Xamarin.Android.Tasks.ResolveAssemblies.Execute()IsoPanelApp.DroidC:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets1410Build

I have already increased the HEAP size up to 1G.
I have been trying to remove the reference, but it gives me no result.

Could you please manage this? 

Best regards, 
Maryan

Petar Marchev
Telerik team
 answered on 06 Feb 2017
9 answers
460 views

Hi,

 

I'm having a hard time wrapping my head around how to handle list view group, sort and filter descriptors in an MVVM fashion.

My scenario is pretty simple: change the grouping, sorting or filtering rules of a list view by clicking a button.

Like so: Button => click => issue View Model command => affect change to the grouping, sorting, filtering rules owned by the view model that are supposedly bound to the list view

 

But here are some problems:

- The descriptors cannot be bound.

- The descriptors are read-only properties of type ObservableCollection, which means that they are owned by the RadListView instance. The caller cannot set an ObservableCollection owned by the view model.

So here are a couple of ideas I have been playing around with, both pretty bad:

- So one can write descriptors with bound properties to the view model (e.g. the sorting order), and force the list view to reload from the view model (by setting the ItemsSource to a new collection instance of the same items via a binding, which is ugly and causes flickering if the item count is high but couldn't find any other way).

- Or, I'll say presumably because I haven't tested that assumption, modify the descriptors' ObservableCollection on the list view (e.g. remove an alphabetical ascending sort descriptor from the collection and add a descending sort descriptor). This means having a reference to the list around when such change is needed. To avoid coupling the view and the view model, this could happen in the parent view, or page, and be isolated from the view model. Which is not great for reusing those features in different views with the same view model...

 

Does anyone have real life experience on that matter and could enlighten us on how to approach this?

 

And question for the Telerik staff: Why aren't the descriptor properties bindable and/or settable? Are they planned to be bindable and/or settable at some point?

 

Thanks in advance,

Jonathan

Jonathan
Top achievements
Rank 1
 answered on 03 Feb 2017
6 answers
136 views

Hey guys, 

I am currently implementing the Telerik Listview into my Xamarin Forms application.

But I am running into a strange behaviour on iOS. Am using the following IValueConverter

public class ByteArrayToImageConverter : IValueConverter
   {
       public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
       {
           if (value != null)
           {
               return ImageSource.FromStream(() => new MemoryStream((byte[])value));
           }
           return null;
       }
 
       public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
       {
           throw new NotImplementedException();
       }
   }

 

My Listview looks like this:

<telerikDataControls:RadListView
    x:Name="LVUser "
    Grid.Column="0" Grid.Row="0">
      <telerikDataControls:RadListView.LayoutDefinition>
        <telerikListView:ListViewLinearLayout ItemLength="60" />
      </telerikDataControls:RadListView.LayoutDefinition>
      <telerikDataControls:RadListView.GroupHeaderTemplate>
        <DataTemplate>
          <ContentView Style="{StaticResource GroupingHeaderBar}">
            <Label
              Text="{Binding }"
              Style="{StaticResource GroupingHeaderLabel}" />
          </ContentView>
        </DataTemplate>
      </telerikDataControls:RadListView.GroupHeaderTemplate>
      <telerikDataControls:RadListView.ItemTemplate>
        <DataTemplate>
          <telerikListView:ListViewTemplateCell>
            <telerikListView:ListViewTemplateCell.View>
              <Grid Padding="5,1,0,1">
                <Grid.ColumnDefinitions>
                  <ColumnDefinition Width="48"/>
                  <ColumnDefinition Width="*"/>
                  <ColumnDefinition Width="10"/>
                </Grid.ColumnDefinitions>
 
                <ffimageloading:CachedImage
                  Grid.Column="0"
                  HeightRequest="48" WidthRequest="48"
                  x:Name="Picture"
                  Source="{Binding Picture, Converter={StaticResource ByteToImage}}"
                  HorizontalOptions="Start"
                />
 
                <Label
                  Text="{Binding Id, Converter={StaticResource NameConverter}}"
                  Style="{StaticResource MainLabel}"
                  Grid.Column="1"
                  VerticalOptions="CenterAndExpand"/>
 
                <FontAwesome:FontAwesomeIcon
                 x:Name="LblMore"
                 Text="ï„…"
                 Grid.Column="2"
                 Style="{StaticResource MainLabel}"
                 VerticalOptions="CenterAndExpand"
                 HorizontalOptions="EndAndExpand"
             />
 
              </Grid>
            </telerikListView:ListViewTemplateCell.View>
          </telerikListView:ListViewTemplateCell>
        </DataTemplate>
      </telerikDataControls:RadListView.ItemTemplate>
    </telerikDataControls:RadListView>

 

This runs perfectly on Android but on iOS the value converter get's called unlimited times. I am using the current stable nuget package.

The "NameConverter" get's called as often as the other one.

 

Can't I use IValueConverter's?

 

Best regards

Julian

Nikolay Demirev
Telerik team
 answered on 02 Feb 2017
6 answers
342 views

Hello guys,

I am facing issue with binding the contents to the RadListView.

I am doing it as follows,

<telerikDataControls:RadListView Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" x:Name="uiListView" ItemsSource="{Binding Assets}">

                                                                             <!--'Assets' is the list of asset.-->

            <telerikDataControls:RadListView.ItemTemplate>
              <DataTemplate>
                <ViewCell>
                  <ViewCell.View>
                    <StackLayout>
                      <Grid Padding="10,10,10,0">

                        <Label Grid.Row="0" Grid.Column="0" Text="{Binding AssetNumber}" FontSize="14" FontAttributes="Bold" LineBreakMode="NoWrap"/>

                       </Grid>
                    </StackLayout>
                  </ViewCell.View>
                </ViewCell>
              </DataTemplate>
            </telerikDataControls:RadListView.ItemTemplate>

            <telerikDataControls:RadListView.SelectedItemStyle>
              <telerikListView:ListViewItemStyle BackgroundColor="#88888888"/>
            </telerikDataControls:RadListView.SelectedItemStyle>
          </telerikDataControls:RadListView>

Tsvyatko
Telerik team
 answered on 01 Feb 2017
1 answer
242 views
I need to implement a radar chart in Xamarin Forms. This is easily available and implementable using Syncfusion as shown here: https://help.syncfusion.com/xamarin/sfchart/charttypes#radar-chart  Although I have seen no documentation in Telerik for Xamarin Forms.
Lance | Senior Manager Technical Support
Telerik team
 answered on 25 Jan 2017
20 answers
140 views

 

  Hi,

 I'm not sure, but I think I have found a bug in the Area Chart component.

 The problem is the displaying order of the different series, when you try to stack one them. I successfully achieved it in Android, but I can't find the correct order in iOS.

 I have attached two captures. The correct order is the Android version. The add order is the same, but the result is different.

 And here is the two code versions.  

IOS Code

dailyGraphChart.BeginUpdates();
 
//Modo stack
var stackInfo = new TKChartStackInfo(new NSNumber(0), TKChartStackMode.Stack);
 
//PHOTOVOLTAICS - Yellow
var serieFVE = new TKChartAreaSeries(pointsFVE.ToArray());
serieFVE.StackInfo = stackInfo;
serieFVE.Style.Palette = new TKChartPalette();
var paletteItemFVE = new TKChartPaletteItem();
paletteItemFVE.Fill = new TKSolidFill(StyleUtil.GetChartYellow());
serieFVE.Style.Palette.AddPaletteItem(paletteItemFVE);
dailyGraphChart.AddSeries(serieFVE);
 
//CHARGE - Orange
var serieBatUp = new TKChartAreaSeries(pointsBatUp.ToArray());
serieBatUp.StackInfo = stackInfo;
serieBatUp.Style.Palette = new TKChartPalette();
var paletteItemBatUp = new TKChartPaletteItem();
paletteItemBatUp.Fill = new TKSolidFill(StyleUtil.GetChartOrange());
serieBatUp.Style.Palette.AddPaletteItem(paletteItemBatUp);
dailyGraphChart.AddSeries(serieBatUp);
 
//DISCHARGE - Green
var serieBatDown = new TKChartAreaSeries(pointsBatDown.ToArray());
serieBatDown.StackInfo = stackInfo;
serieBatDown.Style.Palette = new TKChartPalette();
var paletteItemBatDown = new TKChartPaletteItem();
paletteItemBatDown.Fill = new TKSolidFill(StyleUtil.GetChartGreen());
serieBatDown.Style.Palette.AddPaletteItem(paletteItemBatDown);
dailyGraphChart.AddSeries(serieBatDown);
 
//GRID - Blue
var serieGrid = new TKChartAreaSeries(pointsGrid.ToArray());
serieGrid.StackInfo = stackInfo;
serieGrid.Style.Palette = new TKChartPalette();
var paletteItemGrid = new TKChartPaletteItem();
paletteItemGrid.Fill = new TKSolidFill(StyleUtil.GetChartBlue());
serieGrid.Style.Palette.AddPaletteItem(paletteItemGrid);
dailyGraphChart.AddSeries(serieGrid);

 

Android Code

           //Initialization
RadCartesianChartView chartView = new RadCartesianChartView(v.Context);
 
ChartPalette customPalette = new ChartPalette(chartView.Palette);
 
AreaSeries EFVAreaSeries = new  AreaSeries();
EFVAreaSeries.CombineMode = ChartSeriesCombineMode.Stack;
EFVAreaSeries.StackGroupKey = 0;
EFVAreaSeries.CategoryBinding = new PowerResultDataBinding ("PowerType");
EFVAreaSeries.ValueBinding = new PowerResultDataBinding ("hour");
EFVAreaSeries.Data = (Java.Lang.IIterable)this.EFVresults;
CustomizarPaleta (customPalette,ChartPalette.AreaFamily, GetChartYellow (), 0);
EFVAreaSeries.StrokeColor = Color.Black.ToArgb ();
EFVAreaSeries.StrokeThickness = 0.5f;
chartView.Series.Add(EFVAreaSeries);
 
AreaSeries CargaBAreaSeries = new AreaSeries();
CargaBAreaSeries.CombineMode = ChartSeriesCombineMode.Stack;
CargaBAreaSeries.StackGroupKey = 0;
CargaBAreaSeries.CategoryBinding = new PowerResultDataBinding ("PowerType");
CargaBAreaSeries.ValueBinding = new PowerResultDataBinding ("hour");
CargaBAreaSeries.Data = (Java.Lang.IIterable)this.CargaBresults;
CustomizarPaleta (customPalette,ChartPalette.AreaFamily, GetChartOrange (), 1);
CargaBAreaSeries.StrokeColor = Color.Black.ToArgb ();
CargaBAreaSeries.StrokeThickness = 0.5f;
chartView.Series.Add(CargaBAreaSeries);
 
AreaSeries DescargaAreaSeries = new AreaSeries();
DescargaAreaSeries.CombineMode = ChartSeriesCombineMode.Stack;
DescargaAreaSeries.StackGroupKey =0;
DescargaAreaSeries.CategoryBinding = new PowerResultDataBinding ("PowerType");
DescargaAreaSeries.ValueBinding = new PowerResultDataBinding ("hour");
DescargaAreaSeries.Data = (Java.Lang.IIterable)this.DescargaResults;
CustomizarPaleta (customPalette,ChartPalette.AreaFamily, GetChartGreen (), 2);
DescargaAreaSeries.StrokeColor = Color.Black.ToArgb ();
DescargaAreaSeries.StrokeThickness = 0.5f;
chartView.Series.Add(DescargaAreaSeries);
 
AreaSeries RedAreaSeries = new AreaSeries();
RedAreaSeries.CombineMode = ChartSeriesCombineMode.Stack;
RedAreaSeries.StackGroupKey = 0;
RedAreaSeries.CategoryBinding = new PowerResultDataBinding ("PowerType");
RedAreaSeries.ValueBinding = new PowerResultDataBinding ("hour");
RedAreaSeries.Data = (Java.Lang.IIterable)this.RedResults;
CustomizarPaleta (customPalette,ChartPalette.AreaFamily, GetChartBlue (), 3);
RedAreaSeries.StrokeColor = Color.Black.ToArgb ();
RedAreaSeries.StrokeThickness = 0.5f;
chartView.Series.Add(RedAreaSeries);
 
AreaSeries InyecAreaSeries = new AreaSeries();
InyecAreaSeries.CombineMode = ChartSeriesCombineMode.Stack;
InyecAreaSeries.StackGroupKey = 0;
InyecAreaSeries.CategoryBinding = new PowerResultDataBinding ("PowerType");
InyecAreaSeries.ValueBinding = new PowerResultDataBinding ("hour");
InyecAreaSeries.Data = (Java.Lang.IIterable)this.Inyecresults;
CustomizarPaleta (customPalette,ChartPalette.AreaFamily, GetChartRed(), 4);
InyecAreaSeries.StrokeColor = Color.Black.ToArgb ();
InyecAreaSeries.StrokeThickness = 0.5f;
chartView.Series.Add(InyecAreaSeries);

Miroslava
Telerik team
 answered on 24 Jan 2017
15 answers
186 views

Hi,

The  Xamarin Forms controls no longer appear in nuget packages to install, even when you select pre-release.

Is there a new server or something? I'm using https://nuget.telerik.com/nuget

Thanks,

Norman.

Lance | Senior Manager Technical Support
Telerik team
 answered on 13 Jan 2017
7 answers
116 views

Hello, I need to set the horizontal date axis 

to display either 6 hours ticks or date ticks.

The label format should change like in the attached file.

We want to set the zoom behavior to zoom-in to 15 days

Appreciate Help

Victor
Telerik team
 answered on 12 Jan 2017
3 answers
119 views

Hello 

We use ChartPanAndZoomBehavior 

After we Add Annotation or Series the Zoom Is Reset

How can we avoid this?

Thanks

Victor
Telerik team
 answered on 11 Jan 2017
1 answer
129 views

Hi,

Is it possible to have a master detail page under the side drawer main content?

Lance | Senior Manager Technical Support
Telerik team
 answered on 10 Jan 2017
Top users last month
Jay
Top achievements
Rank 3
Iron
Iron
Iron
Benjamin
Top achievements
Rank 3
Bronze
Iron
Veteran
Radek
Top achievements
Rank 2
Iron
Iron
Iron
Bohdan
Top achievements
Rank 2
Iron
Iron
Richard
Top achievements
Rank 4
Bronze
Bronze
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?