我试图将我的提交按钮交换为可点击标签。实现这一目标的最佳方式是什么,或者甚至可以使用Xamarin.Forms?目前这是我的按钮代码:
async void SubmitFeedback_Clicked(object sender, EventArgs e)
{
ExtendedGrialButton btn = sender as ExtendedGrialButton;
if (btn.IDValue != IDofSymptomforAdjusting)
{
await DisplayAlert("Add feedback", "Please add feedback for the symptom selected", "OK");
}
else if (rangeSlider == null)
{
await DisplayAlert("Add feedback", "Please add feedback for a symptom", "OK");
}
else
{
await AddSymptomFeedback(rangeSlider.IDValue, rangeSlider.Value.ToString());
}
}
目前这是我的标签代码:
<Label Style="{StaticResource FontIcon}"
TextColor="#8472AF"
VerticalOptions="Center"
HorizontalOptions="Center"
HeightRequest="160"
WidthRequest="160"
FontSize="60"
VerticalTextAlignment="Center"
x:Name="SymptomIcon"
Margin="0,0,0,0"
Grid.Row="1"
Grid.RowSpan="4"
Grid.Column="2" />
我是否可以添加一个标签点击手势,这将允许我这样做?我想从我的应用程序中删除该按钮,只需使用带有轻敲手势的标签来执行相同的操作。
当然,只需在你的TapGestureRecognizer
上添加一个Label
。像这样做:
<Label ...>
<Label.GestureRecognizers>
<TapGestureRecognizer Tapped="SubmitFeedback_Clicked" />
</Label.GestureRecognizers>
</Label>
@Gerald回答没错,但如果你想以编程方式做,可以这样做
public MainPage()
{
InitializeComponent();
var tapGestureRecognizer = new TapGestureRecognizer();
tapGestureRecognizer.Tapped += async(s, e) => {
//your code
};
SymptomIcon.GestureRecognizers.Add(tapGestureRecognizer);
}