在 Xamarin 表单代码后面使用 2 个值设置可见 属性 的绑定

set binding for visible property using 2 values in Xamarin forms code behind

我有一个包含标签的列表。列表视图在 XAML 文件中声明,其中列表的数据单元格是在 cs 文件中以编程方式生成的。我需要根据 2 个字段值在列表中为此标签绑定可见 属性。

Xaml代码:

<ListView x:Name="lvItemSigns" HasUnevenRows="True" SeparatorVisibility="Default" SeparatorColor="Gray">

cs文件代码:

lvItemSigns.ItemTemplate = new DataTemplate(typeof(DataCell)); 
lvItemSigns.ItemsSource = VM.ItemSignsList;

class DataCell : ViewCell
{
Label label;
public DataCell()
{
 // has grid
  var label = new Label();
        label.TextColor = Color.Black;
        label.Margin = 4;
        label.Text = "test";
        grid.Children.Add(label, 2, 1);
        label.SetBinding(Label.IsVisibleProperty, new 
Binding("SubItem", BindingMode.TwoWay, new 
BooleanConverter(), null, null, "cs-file_name"));
 grid.Children.Add(stackLayout, 0, 3);

        grid.Margin = new Thickness(8,0,0,0);
        View = grid;
   }
}

我可以使用 1 个值绑定可见 属性,如何使用 2 个值来完成?

在您的模型上创建一个 read-only 属性

public bool Visible 
{
  get
  {
    // test for multiple conditions here
    return PropertyA && PropertyB;
  }
}

每当设置任何依赖属性的值时,您还需要提出 PropertyChanged("Visible")