此代码正常运行:
<ListView ItemsSource="{Binding ItemsSourcePrimary}" VerticalOptions="FillAndExpand">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<StackLayout Padding="15, 5, 15, 5" Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Image Source="{Binding IconSource}" Aspect="AspectFit" HorizontalOptions="Center" VerticalOptions="Center" />
<Label Text="{Binding Title}" VerticalOptions="Center" />
</StackLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
但我想将一个部分分成这样一个类:
<ListView ItemsSource="{Binding ItemsSourcePrimary}" VerticalOptions="FillAndExpand">
<ListView.ItemTemplate>
<DataTemplate>
<local:MenuListCell Title="{Binding Title}" IconSource="{Binding IconSource}" />
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
但我有一个错误:
找不到文字名称属性
我使用以下代码在xaml文件中实现类MenuListCell:
<?xml version="1.0" encoding="utf-8" ?>
<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Test.MenuListCell">
<ViewCell.View>
<StackLayout Padding="15, 5, 15, 5" Orientation="Horizontal" HorizontalOptions="FillAndExpand">
<Image Source="{Binding IconSource}" Aspect="AspectFit" HorizontalOptions="Center" VerticalOptions="Center" />
<Label Text="{Binding Title}" VerticalOptions="Center" />
</StackLayout>
</ViewCell.View>
</ViewCell>
你有解决方案吗? 我们是否需要创建一个c#文件.cs才能实现这些属性,或者我们可以在xaml中创建它?
答案 0 :(得分:1)
如果将MenuListCell
始终绑定到相同类型的对象,则只需更改
<local:MenuListCell Title="{Binding Title}" IconSource="{Binding IconSource}" />
到
<local:MenuListCell />
单元格的Datacontext是您的项目。
中的Title
<Label Text="{Binding Title}" VerticalOptions="Center" />
是列表项的属性。