我想在ListView的Image单元格项周围留出一些空间:
<StackLayout>
<ListView ItemsSource="{Binding Items}" HasUnevenRows="True">
<ListView.ItemTemplate>
<DataTemplate>
<ImageCell Text="{Binding Title}" ImageSource="{Binding Image}" TextColor="Black" DetailColor="Gray"/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
但是ImageCell
没有可用的保证金属性?
修改
在发布问题之前,我做了cvanbeek的建议:
<DataTemplate>
<StackLayout Padding="5">
<ImageCell Text="{Binding Title}" ImageSource="{Binding Image}" TextColor="Black" DetailColor="Gray"/>
</StackLayout>
</DataTemplate>
但我得到了这个例外:
在MainActivity.cs中的未处理的例外:
System.InvalidCastException:指定的强制转换无效。
OnCreate
方法
答案 0 :(得分:3)
只有View
可以放在DataTemplate
内,但StackLayout
是Layout
。
使用ViewCell,它更灵活,更可控。
<ListView >
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Padding="20" Orientation="Horizontal" >
<Label Margin="20" Text="123"/>
<Image Source="Assets/StoreLogo.png"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>