The chart's series are not detecting property changed notifications on items in the series.
Note:
Reproducible
If you have a data model where the properties are using INotifyPropertyChanged, for example from your NotifyPropertyChangedBase
public class Item : NotifyPropertyChangedBase
{
private DateTime date;
private int value;
public DateTime Date
{
get => date;
set => UpdateValue(ref date, value);
}
public int Value
{
get => value;
set => UpdateValue(ref this.value, value);
}
}
Here's a view model to use, invoke the command to observe the problem
public class MainViewModel : NotifyPropertyChangedBase
{
public MainViewModel()
{
var rand = new Random();
DataPoints = new ObservableCollection<Item>(Enumerable.Range(1,5).Select(i=>new Item
{
Date = DateTime.Today.AddDays(-i),
Value = rand.Next(1,10)
}));
ChangeDataCommand = new Command(() =>
{
foreach (var dataPoint in DataPoints)
{
dataPoint.Value = rand.Next(1, 20);
}
});
}
private ObservableCollection<Item> dataPoints;
public ObservableCollection<Item> DataPoints
{
get => dataPoints;
set => UpdateValue(ref dataPoints, value);
}
public Command ChangeDataCommand { get; set; }
}
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<telerikChart:RadCartesianChart x:Name="Chart">
<telerikChart:RadCartesianChart.HorizontalAxis>
<telerikChart:DateTimeContinuousAxis LabelFormat="MM-dd"
LabelFitMode="Rotate" />
</telerikChart:RadCartesianChart.HorizontalAxis>
<telerikChart:RadCartesianChart.VerticalAxis>
<telerikChart:NumericalAxis Minimum="0" Maximum="10"/>
</telerikChart:RadCartesianChart.VerticalAxis>
<telerikChart:RadCartesianChart.Series>
<telerikChart:LineSeries ValueBinding="Value"
CategoryBinding="Date"
ItemsSource="{Binding DataPoints}" />
</telerikChart:RadCartesianChart.Series>
</telerikChart:RadCartesianChart>
<Button Text="Change Data"
Command="{Binding ChangeDataCommand}"
HorizontalOptions="Fill"
Margin="5"
Grid.Row="1"/>
</Grid>
A SweepAxis (aka SweepSeries) is a chart where where the data is plotted from Left-to-Right and when the Data reaches the end, then any new data will start from the left side again by overwriting the oldest data in the chart.
A good example of this in an application is Windows's PerfMon application.
<telerik:RadBusyIndicator
HorizontalOptions="FillAndExpand"
VerticalOptions="FillAndExpand"
IsBusy="{Binding IsBusy}"
IsVisible="{Binding IsBusy}"
AnimationContentHeightRequest="60"
AnimationContentWidthRequest="60"
AnimationType="Animation3"
AnimationContentColor="{DynamicResource BrandPrimaryColor}">
<telerik:RadBusyIndicator.BusyContent>
<Label Text="{Binding BusyContent}" HorizontalOptions="Center"/>
</telerik:RadBusyIndicator.BusyContent>
</telerik:RadBusyIndicator>
RdBusyIndicator BusyContent data binding does not work for the above Label inside the "telerik:RadBusyIndicator.BusyContent". If a string constant is assigned to the Text(for example "Loading..."), then it works perfectly.
The view model 100% has the property "BusyContent" with a value. By the way, the IsBusy and IsVisible data binding work fine.
Use the following code to reproduce the behavior described in the issue title:
<telerikInput:RadButton BorderThickness="10,0,0,0" BorderColor="Blue" Clicked="RadButton_Clicked"/>
private void RadButton_Clicked(object sender, EventArgs e)
{
RadButton btn = (RadButton)sender;
if (btn.BorderColor == Color.Blue)
{
btn.BackgroundColor = Color.Yellow;
btn.BorderColor = Color.Red;
}
else
{
btn.BorderColor = Color.Blue;
btn.BackgroundColor = Color.Cyan;
}
}
Both the BackgroundColor and BorderColor change without any changes to BorderThickness.
The RadButton's border disappears. Note that even if I programmatically set BorderThickness in the same click event, it is still not visible again.
This is reproducible using 2020.1.318 and minimum required dependencies on Android.
In the SearchViewSingleLineItems Telerik template, it places a RadListView in an auto-sized RowDefinition. As a result, this causes the RadListView not to appear on iOS. This should be a star-sized row as mentioned in this UI for Xamarin documentation.
Although unrelated to the issue, the deprecated RadAutoComplete is being used for the example. Please update it to use the new RadAutoCompleteView instead.
Please update this template (and any other search templates that might have the same issues), thank you.
I have upgraded my Xamarin.Forms to version 4.5 and installed the dependent AndroidX nuget packages. After upgrading UI for Xamarin to version 2020.1.318.1, I'm getting 3 errors below in my Xamarin Android project that seems to have to do with min SDK version when I try to build:
java/lang/String;Ljava/util/List;)[B : invalid opcode ba - invokedynamic requires --min-sdk-version >= 26 (currently 13)
com.android.dx.cf.code.SimException: ERROR in androidx.browser.customtabs.CustomTabsService$1.newSessionInternal:(Landroid/support/customtabs/ICustomTabsCallback;Landroid/app/PendingIntent;)Z: invalid opcode ba - invokedynamic requires --min-sdk-version >= 26 (currently 13)
com.android.dx.cf.code.SimException: ERROR in androidx.browser.trusted.ConnectionHolder.getServiceWrapper:()Lcom/google/common/util/concurrent/ListenableFuture;: invalid opcode ba - invokedynamic requires --min-sdk-version >= 26 (currently 13)
I'm targeting Android 9 and set the minimum supported SDK to 26. The error hasn't gone away.
I upgraded to latest Telerik to address a reference issue with AndroidX.RecyclerView but it seems that these new errors are showing up now.
Is there something I can do to resolve the error or do I just have to wait for the next Telerik UI for Xamarin release?
Hello,
We are using Xamarin Forms and Telerik for iOS and Android.
We were asked several months ago to host our Xamarin Forms app on WPF.
Currently, SyncFusion is the only one to support WPF.
Will Telerik support WPF for Xamarin Forms someday ? Do you have any idea when ?
If you won't support it, I will be obliged to move to SyncFusion (WPF will be mandatory soon as we will migrate our WPF app on Xamarin : a merge of our products and our dev team)
We have both Telerik and SyncFusion. We decided to use Telerik for 95% of our controls (except the ListView where SyncFusion got more advanced features).
We prefer to stay on Telerik for as long as we can but won't have other choice to migrate to SyncFusion if Telerik will never provide WPF controls for Xamarin Forms.
Thanks a lot
April 2020 Deadline
Apple will no longer accept applications published with anything less than Xamarin.Forms 4.5 after April 2020.
This is due to the UIWebView flag that is in Xamarin.Forms 4.4 and earlier
ITMS-90809: Deprecated API Usage- Apple will stop accepting submissions of apps that use UIWebView APIs starting from April 2020 .
Please visit this documentation for full explanation. Just to share the highlights, Telerik UI for Xamarin will need to:
UIWebView
– Your code should not have any references to UIWebView
or any classes that make use of UIWebView
.Since 2020.1.218 the NuGet package for UWP Apps doesn't work, it references files that are not found during build.
//
If you have a project that has a dependency on: Xamarin.AndroidX.RecyclerView
It will cause a Release build failure due to Telerik.XamarinForms.DataControls using the wrong type in the renderer (AndroidX's RecyclerView instead of v7.Widgets's RecyclerView).
Here is the build error clarifying that it cannot find a `HasStableIds` property/method:
Error Mono.Linker.MarkException: Error processing method: 'System.Void Telerik.XamarinForms.DataControlsRenderer.Android.ItemsControlRenderer::OnElementAttached(Telerik.XamarinForms.DataControls.ItemsControl)' in assembly: 'Telerik.XamarinForms.DataControls.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Void AndroidX.RecyclerView.Widget.RecyclerView/Adapter::set_HasStableIds(System.Boolean)
You can use the attached project to reproduce the problem. Be sure to have the following settings:
Uninstall Xamarin.AndroidX.RecyclerView
When using the __ItemStyle properties of RadListView, they are not being applied if the SelectionMode is set to None. It makes sense that the PressedItemStyle and SelectedItemStyle properties are not used, since they are not applicable if nothing can be selected. However, the ReorderItemStyle in particular should still be used.
Example:
public class ItemStyleNotAppliedExample : ContentPage
{
private readonly ListViewItemStyle WhiteBG = new ListViewItemStyle
{
BackgroundColor = Color.White
};
private readonly ListViewItemStyle YellowBG = new ListViewItemStyle
{
BackgroundColor = Color.Yellow
};
private readonly ListViewItemStyle RedBG = new ListViewItemStyle
{
BackgroundColor = Color.Red
};
private readonly ListViewItemStyle BlueBG = new ListViewItemStyle
{
BackgroundColor = Color.Blue
};
public ItemStyleNotAppliedExample()
{
BackgroundColor = Color.Gray;
var items = new ObservableCollection<Item>
{
new Item("Item 1"),
new Item("Item 2"),
new Item("Item 3"),
new Item("Item 4"),
new Item("Item 5"),
};
Content = new RadListView
{
SelectionMode = SelectionMode.None,
IsItemsReorderEnabled = true,
ItemsSource = items,
ItemTemplate = new DataTemplate(typeof(ItemView)),
ItemStyle = WhiteBG,
PressedItemStyle = YellowBG,
SelectedItemStyle = RedBG,
ReorderItemStyle = BlueBG,
};
}
private class Item
{
public string Name { get; }
public Item(string name)
{
Name = name;
}
}
private class ItemView : ListViewTemplateCell
{
public ItemView()
{
var checkbox = new CheckBox
{
VerticalOptions = LayoutOptions.Center
};
var label = new Label
{
VerticalOptions = LayoutOptions.Center
};
label.SetBinding(Label.TextProperty, nameof(Item.Name));
View = new StackLayout
{
BackgroundColor = Color.Transparent,
Orientation = StackOrientation.Horizontal,
Children =
{
checkbox,
label
}
};
}
}
}
When you have a page with RadCalendar and DayViewSettings properties are data-bound, navigating back in Prism raises a "Cannot destroy page" exception.
It would be great to have controls to enter an IP Address and a MAC address.
IP Address in the form of: ###.###.###.### where the # ranges from 0 to 255 for each octet.
MAC address in the form of: ##-##-##-##-##-## where the # ranges in hex from 00 to FF.
Hello,
RadPopup control causes memory leaks on iOS.
Here is the repro project https://github.com/VitalyKnyazev/RadPopupLeak
Thanks
Vitaly