首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查最后一个列表项是否等于Xamarin窗体绑定的长度。

检查最后一个列表项是否等于Xamarin窗体绑定的长度。
EN

Stack Overflow用户
提问于 2019-08-23 08:50:23
回答 2查看 656关注 0票数 1

我正在试图隐藏最后一个Grid列。我试图用DataTrigger来实现它,我的触发器是这样的:

代码语言:javascript
复制
            <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()来删除最后一行分隔符)。

我该怎么做呢?

EN

Stack Overflow用户

发布于 2021-10-29 05:18:17

  • 创建Bindable布局。
  • 创建单独的模板选择器类。
  • 用于填充可绑定布局项源的类必须具有新的属性isLast bool。
  • 使用最后一个元素将列表更新为true。
  • 现在将这个新列表绑定到视图上使用的可绑定布局。
  • 不要忘记在该页面的资源字典中添加模板选择器。以将列表中的最后一项更新为isLast = true use。
代码语言:javascript
复制
    int index = 0;
    foreach (var item in list) // here updating last element of list islast =true
    {
    item.IsLast = (index == list.Count - 1);
    index++;
    }
票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57622772

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档