【发布时间】:2017-10-29 22:52:50
【问题描述】:
我的 App.xaml 中有一个 ControlTemplate,如下所示:
<ControlTemplate x:Key="MyTempplate">
<ListView x:Name="MyListView"
AutomationId="SelectRelationListViewId"
ItemsSource="{Binding MyListViewData}"
SelectedItem="{Binding MySelectedItem}"
BackgroundColor="White"
RowHeight="60"
SeparatorColor="White"
IsGroupingEnabled="False"
VerticalOptions="FillAndExpand">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Grid BackgroundColor="#E7E4E0"
Padding="20,0,20,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Label Grid.Column="0"
Text="{Binding MyName}"
VerticalOptions="CenterAndExpand"/>
</Grid>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ControlTemplate>
我的页面与我的 ViewModel 绑定,如果我将模板中的代码复制/粘贴到我的 pagem,数据和事件会得到正确处理,但当我尝试使用我的模板时没有任何反应,ListView 为空且事件为没有触发。
我已经尝试过“{TemplateBinding DataContext.MyPropertyNameToBind}”。
【问题讨论】:
-
感谢您的提示,但它也不起作用
-
如果是
Xamarin.Forms,你应该使用{TemplateBinding BindingContext.MyPropertyNameToBind}而不是DataContext
标签: c# listview binding xamarin.forms controltemplate