Xaml 检查最后一个列表项是否等于Xamarin表单绑定的长度
我试图隐藏最后一个网格列。我正在尝试使用DataTrigger,我的触发器是这样的:Xaml 检查最后一个列表项是否等于Xamarin表单绑定的长度,xaml,xamarin.forms,datatrigger,Xaml,Xamarin.forms,Datatrigger,我试图隐藏最后一个网格列。我正在尝试使用DataTrigger,我的触发器是这样的: <ResourceDictionary> <Style x:Key="HideLastVerticalLine" TargetType="BoxView"> <Style.Triggers> <DataTrigger
<ResourceDictionary>
<Style x:Key="HideLastVerticalLine" TargetType="BoxView">
<Style.Triggers>
<DataTrigger
Binding="{Binding Items, Path=Items.LastOrDefault}"
TargetType="BoxView"
Value="{Binding Items.Length}">
<Setter Property="IsVisible" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ResourceDictionary>
<BoxView Style="{StaticResource HideLastVerticalLine}" Grid.Column="1" HeightRequest="100" WidthRequest="1" BackgroundColor="Black"/>
我将此DataTrigger应用于一个BoxView,其中包含一个垂直线分隔符(我想要一些东西作为Trim()),以便删除最后一条分隔线
我怎样才能做到这一点?您可以使用a来实现这一点
样本是
创建两个数据模板,一个用于LastViewCell
,另一个用于其他ViewCell
:
public class PersonDataTemplateSelector : DataTemplateSelector
{
public DataTemplate NormalTemplate { get; set; }
public DataTemplate LastCellTemplate { get; set; }
protected override DataTemplate OnSelectTemplate (object item, BindableObject container)
{
var lastItem = Items.LastOrDefault();
return lastItem = item ? LastCellTemplate : NormalTemplate;
}
}
通过检查项目是否为最后一个项目,选择使用哪个
DataTemplate
。您可以发布一个图像和您试图完成的任务的完整代码吗?您想隐藏整个列还是只隐藏一个boxview?Items.LastOrDefault是一个方法,因此绑定将不起作用。因此,我有一个DataTemplate为一个项目上的每个项目创建两列列表。第一列是listview,第二列是分隔符垂直线。我想隐藏最后一项的第二列(为了不显示最后一项的垂直分隔线)