1
我在Xamarin.Forms上工作,並且在我的ListView中有兩個按鈕,它們被視爲單選按鈕。點擊事件時,我正在更改按鈕的圖像屬性,以便它可以用作單選按鈕。但在我的情況下,我需要一次選擇一個按鈕。如果用戶單擊一個單選按鈕,則應自動重置其他單選按鈕,以便一次只選擇一個按鈕。 我分享ListView控件的代碼這裏 -如何訪問另一個按鈕的單擊事件中的一個按鈕的發件人對象
<ListView RowHeight="35" SeparatorVisibility="None" BackgroundColor="{x:Static color:ColorResources.PageBackgroundColor}" HeightRequest="230" x:Name="listof_ingredients_and_lifestyleDiets">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout Spacing="60" HorizontalOptions="FillAndExpand" Orientation="Horizontal">
<Label Text="dipak" FontSize="14" TextColor="{x:Static color:ColorResources.TextColor}" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"/>
<Button Image="radio_Check.png" Clicked="OnAllergenTapped" HeightRequest="25" WidthRequest="25" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"/>
<Button Image="radio_unCheck.png" Clicked="OnPreferenceTapped" HeightRequest="25" WidthRequest="25" HorizontalOptions="CenterAndExpand" VerticalOptions="CenterAndExpand"/>
<Button Image="deleteBtn.png" Clicked="btnDeleteClicked" HeightRequest="50" WidthRequest="40" HorizontalOptions="EndAndExpand" VerticalOptions="CenterAndExpand"/>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
而且後面的代碼爲單選按鈕點擊這裏 - 是
public void OnAllergenTapped(object sender, EventArgs e)
{
var s = sender as Button;
if (flag_allergen == 1)
{
s.Image = "radio_uncheck.png";
flag_allergen = 0;
flag_preference = 1;
}
else
{
s.Image = "radio_Check.png";
flag_allergen = 1;
flag_preference = 0;
}
}
public void OnPreferenceTapped(object sender, EventArgs e)
{
var s = sender as Button;
if (flag_allergen == 1)
{
s.Image = "radio_uncheck.png";
flag_allergen = 0;
flag_preference = 1;
}
else
{
s.Image = "radio_Check.png";
flag_allergen = 1;
flag_preference = 0;
}
}
我在上述方法中使用的邏輯,不是爲我做任何意義,因爲它允許我同時點擊兩個按鈕。要一次選擇一個按鈕,需要進行哪些更改?