在Xamarin中将Stepper值与Label文本绑定

时间:2018-10-04 11:01:17

标签: xaml xamarin binding

我有一个ListView,并且一个ListView.ItemTemplate中有Label和Stepper。如何将Stepper值更改绑定到此Label?

<ListView x:Name="productsList"
          ItemsSource="products"
          HasUnevenRows="true">
<ListView.ItemTemplate>
    <DataTemplate>
        <ViewCell>
            <StackLayout x:Name="productStack" Orientation="Vertical">
                <Label x:Name="NameLabel"
                       Text="{Binding DisplayName}"
                       Font="Bold" />

                <Label x:Name="count" 
                       Text="1"/>

                <Stepper x:Name="countStepper"
                         Minimum="1"
                         Increment="1" />
            </StackLayout>
        </ViewCell>
    </DataTemplate>
</ListView.ItemTemplate>    
</ListView>

当我尝试在后面的代码中更改Label的文本

void countStepper_ValueChanged(object sender, ValueChangedEventArgs e)
{
    count.Text = countStepper.Value.ToString();
}

据说count在当前上下文中不存在

1 个答案:

答案 0 :(得分:1)

如果使用的是MVVM,请按照以下步骤操作

  1. 具有Label的模型属性,该属性显示计数。
  2. 在countStepper_ValueChanged中,获取与该视图单元格关联的对象(模型数据),然后在视图模型中对其进行编码,以基于值更改来设置/更改标签的count属性。