在XAML Xamarin中的ListView中进行绑定

时间:2019-02-25 16:41:48

标签: xaml listview xamarin android-listview

有人可以回答我有关列表视图的问题吗? 我有变量MyDatas,它是listview的集合(并且有效):

<ListView 
            x:Name="lstView"
            HasUnevenRows="True"
            ItemsSource="{Binding MyDatas}"> ...

接下来我有(我的代码的一部分,但足以解释问题):

<Label Grid.Row="0"
       Grid.Column="1" 
       Text="{Binding E1}" 
       FontSize="{Binding FProp.Size1}" 
       FontAttributes="{Binding FProp.Atrib1}"/>

E1是MyDatas的字段,并且此绑定有效。我在另一个变量FProp(FProp.Size1和FProp.Atrib1)中具有字体的属性,这是有问题的!如何在此列表视图中使用另一个变量? 如果在列表视图之外使用FProp可以,如果在列表视图中使用FProp则不起作用。

谢谢您的帮助

2 个答案:

答案 0 :(得分:0)

我相信您没有正确绑定字体大小。 您正在引用对象Size1中的一个名为FProp的属性,该属性不在您当前的绑定上下文中。主要问题是每个对象只能有一个绑定上下文。因此,您应该在Size1对象中包含Atrib1MyDatas,以使其可用于标签。另一个选择是将列表视图的绑定上下文更改为指向FProp,然后可以访问标签上的值,但是将无法访问E1值。因此,您需要根据提供的选项来选择解决此问题的方法。

答案 1 :(得分:0)

您可以在ListView中添加x:Name,例如listView1并使用类似的内容

{Binding Path=BindingContext.FProp.Size1, Source={x:Reference listView1}}