【发布时间】:2018-12-07 12:48:10
【问题描述】:
我有一个listview。这个list view 有 5 行,其中有两个buttons,即A 和B。当我在row 上点击button A 时,我想更改同一行上A 和B 上的图像,反之亦然。我可以单独点击并更改同一 button 上的图像,但不知道如何更改另一个按钮上的图像。这是我的listview:
<ListView x:Name="GroupedView" SeparatorColor="Transparent" GroupDisplayBinding="{Binding Title}" IsGroupingEnabled="true" HasUnevenRows="true" >
<ListView.GroupHeaderTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Padding="5" BackgroundColor="#E2F5F9">
<Label Text="{Binding Title}" TextColor="{StaticResource NavyBlue}" />
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.GroupHeaderTemplate>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Orientation="Horizontal" Spacing="2" Padding="5">
<StackLayout VerticalOptions="FillAndExpand">
<Label Text="{Binding QuestionName}" />
</StackLayout>
<StackLayout IsVisible="{Binding ShowYesNo}" Spacing="15" Orientation="Horizontal" HorizontalOptions="End">
<Button ClassId="Yes" Clicked="ChoiceSelected" CommandParameter="{Binding question_id}" Image="{Binding YesChoiceImg}" />
<Button ClassId="No" Clicked="ChoiceSelected" CommandParameter="{Binding question_id}" Image="{Binding NoChoiceImg}" />
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
然后我使用发件人来识别class ID 并更改按钮的图像。
我应该使用command 吗?我应该做点别的吗?请帮忙。谢谢
【问题讨论】:
-
请贴出ChoiceSelected的代码
-
@Jason- 这里是代码:
var item = sender as Button; if (item.ClassId.Equals("Yes")) { string source = item.Image as FileImageSource; if (source.Equals("UnCheck.png")) { item.Image = "Check.png"; } else { item.Image = "UnCheck.png"; } } else ....
标签: c# xamarin xamarin.forms