我正在使用以下XAML代码在ListView中呈现一些数据:
<ListView x:Name="myListView"
ItemsSource="{Binding myData}"
RowHeight="230">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<RelativeLayout Padding="1">
<StackLayout x:Name="stackLayoutTitle"
Padding="5"
Orientation="Vertical"
VerticalOptions="EndAndExpand"
RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width}"
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.6}">
<Label Text="{Binding myText}"
FontSize="Medium"
FontAttributes="Bold"
TextColor="Black">
</Label>
</StackLayout>
</RelativeLayout>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
数据呈现正常。现在,我想要做的是使用banding作为RelativeYConstranit的Factor属性,根据一些计算来定位相应的StackLayout。像这样 (参见Factor属性):
RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor={Binding someValue}}"
但是,在运行应用程序时,我收到了错误。
有谁知道是否可以使用绑定表达式?
感谢。
答案 0 :(得分:0)
我有这个问题。 “因素”不是BindingProperty。因此现在是不可能的。
答案 1 :(得分:0)
我尝试了类似的操作,但未为YConstraint绑定因子,这是为什么它不起作用的说明
从文档中:
在C#中,相对约束定义为函数。像Factor这样的概念并不存在,但是可以手动实现。
我收到的错误消息:
无法分配属性“因子”:属性不存在,不可分配或值与属性之间的类型不匹配
结论: 没有可绑定的属性(请注意,它必须是一个可绑定的属性,否则您将无法绑定)基础代码中的因数,因此无法进行绑定。