首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何基于ListView项源属性操作输出

如何基于ListView项源属性操作输出
EN

Stack Overflow用户
提问于 2019-04-28 03:07:43
回答 1查看 33关注 0票数 0

我将ListView ItemSource设置为List<T>,其中T是我的模型。我正在将这个List<T>的一些属性绑定到XAML中的一些标签。现在,基于一个属性,我想将Label设置为一些文本。

例如,if (Property.IsCompleted == true),我可能希望在ListView的视图单元格中将标签设置为"Done“而不是"True”。

我希望这总结了这个问题。我尝试过其他方法,但都不起作用。

这是我的ListView的项目显示方法:

代码语言:javascript
复制
          private void bookingLV_ItemAppearing(object sender, ItemVisibilityEventArgs e)
        {
            BookingsModel convert = (BookingsModel)e.Item;
            var select = convert.IsCompleted;
         if(select == true)
            {
                IsDone = "Completed";
            }
            IsDone = "Pending";

        }

我有一个名为IsDone的自定义属性:

代码语言:javascript
复制
  public string IsDone { get; set; }

这就是我在Xaml中ListView的视图单元格中绑定IsDone的方法

代码语言:javascript
复制
 <Label Text="{Binding IsDone}"></Label>

我希望能够根据Model对象的属性将Label的Text属性设置为某些文本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-28 03:34:14

在模型中创建一个只读属性,该属性根据另一个属性返回值

代码语言:javascript
复制
public string IsDone 
{ 
  get
    {
       if (select) return "Completed";
       return "Pending";
    }
}

如果您正在使用触发器,则需要确保“INotifyPropertyChanged”属性的设置器为这两个触发器触发PropertyChanged事件

代码语言:javascript
复制
public bool selected { 
  get {
    ...
  }
  set {
    ...
    PropertyChanged("selected");
    PropertyChanged("IsDone");
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55883957

复制
相关文章

相似问题

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