【发布时间】:2020-01-31 10:16:06
【问题描述】:
我有问题。我在每行和一个按钮上创建了一个带有标签作为计数器的 CollectionView。我想要的是,当我按下按钮时,标签值将增加 +1,具体取决于您单击的行。我已经创建了这样的按钮事件:
private void btnPlus_Clicked(object sender, EventArgs e)
{
int currentValue = Convert.ToInt32(txtCounter.Text);
txtCounter.Text = (currentValue + 1).ToString();
}
这是我的 xaml:
<CollectionView ItemsSource="{Binding imageList}">
<CollectionView.ItemsLayout>
<GridItemsLayout Orientation="Vertical" />
</CollectionView.ItemsLayout>
<CollectionView.ItemTemplate>
<DataTemplate>
<StackLayout HorizontalOptions="Center"
<Label Text="1" TextColor="Black" x:Name="txtCounter" FontAttributes="Bold" VerticalOptions="Center"/>
<Button CornerRadius="13" WidthRequest="25" Text="+" Padding="0"
HeightRequest="25" VerticalOptions="Center" Clicked="btnPlus_Clicked" />
</StackLayout>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
但是txtCounter 没有被识别!?
我做错了什么?
【问题讨论】:
-
DataTemplate 中的项目不能与 `x:Name 一起使用,您需要添加绑定以使其更容易
-
问题解决了吗?
标签: c# xamarin xamarin.forms xamarin.android xamarin.ios