尝试在Xamarin的ViewRenderer中使用自定义DataTemplates进行UWP控件

时间:2016-05-16 18:14:49

标签: xamarin xamarin.forms

我遇到了自定义渲染器的问题,我有点难过/卡住了。

我正在尝试在Windows UWP渲染器中使用以下代码行

ItemTemplate = (WDataTemplate)WApp.Current.Resources["ItemTemplate"]

我正在获取资源密钥注释发现异常,我只是不明白为什么

渲染器声明如下     公共类Horizo​​ntalListViewRenderer:ViewRenderer

,XAML看起来像这样

<control:HorizontalListView ItemsSource="{Binding Items}">
    <control:HorizontalListView.ItemTemplate>
        <DataTemplate>
            <StackLayout Padding="15,0,15,0">
                 <Label Text="{Binding Title}" TextColor="#323232">
                      <Label.FontSize>
                          <OnPlatform x:TypeArguments="x:Double" Android="18" WinPhone="22" iOS="18" />
                      </Label.FontSize>
                 </Label>
            </StackLayout>
        </DataTemplate>
    </control:HorizontalListView.ItemTemplate>
</control:HorizontalListView >

我尝试过XF2.2和XF2.3 - 两者都有相同的问题

有人有任何想法或建议吗?

1 个答案:

答案 0 :(得分:0)

当您使用

行时
ItemTemplate = (WDataTemplate)WApp.Current.Resources["ItemTemplate"]

这是指UWP应用程序中的Application.Resources。在您的UWP应用程序中找到App.xaml,然后添加ItemTemplate定义,例如     

    <Application.Resources>
        <DataTemplate x:Key="ItemTemplate">
            <forms:ItemControl HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch" />
        </DataTemplate>
    </Application.Resources>

</Application>