listview - Xamarin 表单 ListVew 绑定 - 将 ViewCell 标签绑定到方法
问题描述
我正在使用 MVVM 方法使用 Xamarin Forms,它运行良好。
我需要向现有 ListView 添加功能以在绑定值为某个值时显示文本。
这是生成描述的单元格
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout>
<Label Text="{Binding Description}" x:Name="lblDescription"
Style="{DynamicResource ListItemTextStyle}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
有没有什么方法基本上只显示标签是以下功能是真的(这可能在视图模型或后面的代码中)例如:
private bool IsDescriptionOk(string description)
{
//Look up description possibly in another lookup list
}
id 想将可见的绑定到方法,如:
Visible="{Binding IsDescriptionOk}"
但是在列表视图中,如果有意义,id 需要传入项目索引吗?
解决方案
我想可能有多种方法可以解决此类问题。其中之一可能是使用IValueConverter。像这样的东西:
<ViewCell>
<StackLayout>
<Label
Text="{Binding Description}"
Style="{DynamicResource ListItemTextStyle}"
IsVisible="{Binding Description, Converter="{StaticResource ItemStatusToVisiblityConverter}" />
</StackLayout>
</ViewCell>
但是,我认为List
应该只包含可见项目,否则你可能有多个 empty ListItems
。
推荐阅读
- javascript - firebase 实时数据库标准事务与自定义事务
- javascript - 如何使用 javascript 和画布将图像切割成等距的单个图块?
- regex - 如何使用perl正则表达式解析java文件
- c++ - 矩形规则(使用 C++ 进行数值积分
- python - 如何为 100 个图块保存 100 个颜色值
- objective-c - 如何在 App Bundle 中嵌入 Automator Action 以进行交付
- android - 在 Android Kotlin 的按钮中垂直居中文本
- android - Connect documents on firebase from android (flutter)
- javascript - 不能多次调用 fadeOut
- java - Java Conventions - Using Curly Braces to Isolate Code?