Currently only Views can be hosted in the MainContent. If users can host Pages the RadSideDrawer could be used as root navigation component. This will allow customers to define the RadSideDrawer once throughout the application.
We should consider exposing a property that will leave the side drawer opened even when you click on the main content.
On UWP this can be achieved if you set double.NaN as a value of the DrawerLength property and on Android this achieved by setting 0 as a value of the DrawerLength property. On iOS is not supported at all.
If a SideDrawer has gestures enabled, you cannot scroll DrawerContent in the same direction as the drawer. For example a ListView in DrawerContent when DrawerLocation="Bottom" If the SideDrawer only uses gestures that begin outside the drawer, then this would prevent the conflict.
Available in minor release 2017.3.927. It will also be available in the R3 2017 SP release.
The scenario in which the issue is reproducible is when one of the tabs of a RadTabView contains a RadSideDrawer. Switching the view a couple of times causes an exception to be thrown when trying to open the tab that contains the RadSideDrawer. The issue is reproducible in UWP and Android. Available in minor release 2018.1.0315. It will also be available in the R2 2018 release.
Use the following code deployed to UWP to reproduce. Observe the following: - Inability to interact with the Button (unless you move the button outside the invisible gesture detection area) - Gestures are still active even though they're disabled <telerikPrimitives:RadSideDrawer DrawerLength="400" AreGesturesEnabled="false" DrawerLocation="Bottom" DrawerTransitionType="SlideInOnTop" DrawerTransitionDuration="0.2" IsOpen="False"> <telerikPrimitives:RadSideDrawer.DrawerContent> <StackLayout VerticalOptions="FillAndExpand" BackgroundColor="GreenYellow"> <Label Text="DrawerContent" VerticalOptions="FillAndExpand"/> </StackLayout> </telerikPrimitives:RadSideDrawer.DrawerContent> <telerikPrimitives:RadSideDrawer.MainContent> <Grid BackgroundColor="LightBlue"> <Grid.RowDefinitions> <RowDefinition Height="*"/> <RowDefinition Height="Auto"/> </Grid.RowDefinitions> <Label Text="Demo" VerticalOptions="Fill"/> <Button VerticalOptions="End" HorizontalOptions="Fill" Text="Click Me!" Clicked="Button_OnClicked" BackgroundColor="LightGray" FontSize="12" HeightRequest="20" Grid.Row="1"/> </Grid> </telerikPrimitives:RadSideDrawer.MainContent> </telerikPrimitives:RadSideDrawer>
When using a AreGesturesEnabled = true, stop the length of the drawer at location of releasing the Gesture. Then allow the user to cover the drawer with the entire screen.
If the MainContent of the RadSideDrawer contains a Xamarin Forms Entry control, and the user enters a space into theEntry with the spacebar, the RadSideDrawer's Drawer will open unintentionally. Code to reproduce: <telerikPrimitives:RadSideDrawer DrawerLength="200"> <telerikPrimitives:RadSideDrawer.MainContent> <Grid> <Entry VerticalOptions="Center" HorizontalOptions="FillAndExpand"/> </Grid> </telerikPrimitives:RadSideDrawer.MainContent> <telerikPrimitives:RadSideDrawer.DrawerContent> <StackLayout VerticalOptions="Start"> <Button Text="A button" /> </StackLayout> </telerikPrimitives:RadSideDrawer.DrawerContent> </telerikPrimitives:RadSideDrawer>
Available in minor release 2017.2.0721. It will also be available in the R3 2017 release.
Exception stack trace: java.lang.ClassCastException: android.view.AbsSavedState$1 cannot be cast to java.lang.Boolean. Reported on Sony and Meizu devices Edit: Avalable in R3 2017 SP release.
Available in minor release 2018.1.0315. It will also be available in the R2 2018 release.
Sets the number of pixels from the screen edges that will define the touchable area which allows to open the DrawerContent The property is available in native controls: Android: TouchTargetThreshold iOS: EdgeSwipeTreshold UWP: TouchTargetThreshold
A Java.Lang.IllegalStateException: The specified child already has a parent error is thrown when changing the MainContent or DrawerContent properties runtime Available in R3 2018 release.
When using OneWay mode binding for RadSideDrawer.IsOpen property, the drawer doesn't open when changing the view model property value. XAML Implementation <primitives:RadSideDrawer IsOpen="{Binding IsOpen}"> ViewModel Property Implementation: private bool isOpen = true; public bool IsOpen { get { return isOpen; } set { SetProperty(ref isOpen, value); } } WORKAROUND: Changing the binding to TwoWay mode will make it work, for example: IsOpen="{Binding IsOpen, Mode=TwoWay}"