Xamarin.Forms won’t navigate to a view containing a Telerik RadListView

Yesterday I came accross a fantastic weird behavior with the Telerik RadListView for Xamarin.Forms. Here’s my setup:

  • Xamarin.Forms 2.3.2.127
  • Telerik UI for Xamarin Q3 2016
  • Visual Studio 2015 Update 2

Issue: Navigating to the view which contains the RadListView is correctly called in the code but not firing in the APP (= the new page won’t show up). There’s neither an error displayed in the output window nor an exception when calling the navigation service. So what the heck is going on here?

I use and recommend the Telerik controls since they’re really full featured, great documented and outstanding supported. So there was no question about which ListView control to use when there’s demand for a list with swipe actions in my latest project.

The APP supports different languages, hence I use markup extensions to achieve the translation in my XAML. More about this, see https://developer.xamarin.com/guides/xamarin-forms/advanced/localization.

The user is able to add/edit new/existings records to/in the list using an Entry control in the ItemTemplate:

<telerikDataControls:RadListView.ItemTemplate>
  <DataTemplate>
    <telerikListView:ListViewTemplateCell>
      <telerikListView:ListViewTemplateCell.View>
        <Grid Style="{StaticResource MyFancyGridStyle}" Margin="0" RowSpacing="0">
          <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="1" />
          </Grid.RowDefinitions>
          <Grid.ColumnDefinitions>
            <ColumnDefinition Width="2*" />
            <ColumnDefinition Width="1*" />
          </Grid.ColumnDefinitions>
          <StackLayout Grid.Row="0" Grid.Column="0" Padding="8">
            <Entry Placeholder="{i18N:Translate EnterEmail}" Text="{Binding Email, Mode=TwoWay}" />
          </StackLayout>
          <BoxView Style="{StaticResource FancySeparatorStyle}" Grid.Row="1" Grid.ColumnSpan="2" />
        </Grid>
      </telerikListView:ListViewTemplateCell.View>
    </telerikListView:ListViewTemplateCell>
  </DataTemplate>
</telerikDataControls:RadListView.ItemTemplate>

 

The Entry control is decorated with a localized placeholder. And here it comes: if the localization string is missing in the resource file (in my case there was no EnterEmail resource in my AppResources), the RadListView is going to swallow the error and the creation of your page will fail. This leads to a successful navigation but without displaying a new page.

As soon as the missing resource was added to the AppResources, the navigation worked as expected.

 

Share

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*