我已按照Microsoft文章Customizing View Cell为用于UWP的列表视图中的视图单元创建了一个本机ViewCellRenderer。 本文介绍了如何为可使用本机控件显示的视图单元创建可绑定属性。我想要的是能够创建一个可绑定的事件处理程序,以便可以将此事件与本机UWP代码(如Textblock的Tapped事件)绑定。
示例-在敲击文本块“名称”的事件时,我想导航到其他页面。导航逻辑是在页面的视图模型内编写的,在该页面中,我使用带有自定义视图单元的列表视图。如何在自定义视图单元格中创建可绑定事件处理程序,以便可以将其与本机代码的Tapped事件绑定。
答案 0 :(得分:1)
我在Xamarin中发现了similar case。我们的团队成员已答复:根据您的要求,关键点是使用XamlBehaviors
将TextBlock的Tapped
事件与自定义视图单元格中定义的命令绑定。
Xaml
<Application.Resources>
<ResourceDictionary>
<DataTemplate x:Key="ListViewItemTemplate">
<Grid>
<TextBlock Text="{Binding TextName}" >
<interactivity:Interaction.Behaviors>
<core:EventTriggerBehavior EventName="Tapped">
<core:InvokeCommandAction Command="{Binding TappedCommand}"/>
</core:EventTriggerBehavior>
</interactivity:Interaction.Behaviors>
</TextBlock>
</Grid>
</DataTemplate>
</ResourceDictionary>
</Application.Resources>
然后,您可以使用TappedCommand
方法调用导航操作。