XAML 如何在xamarin.forms应用程序中添加URL

cxfofazt  于 2023-08-01  发布在  其他
关注(0)|答案(4)|浏览(138)

你好,我想建立一个简单的xamarin。表单应用程序,所以我有XAML代码在这里,所以在这个代码中,我想添加网站的网址,所以任何人都可以请帮助什么选项,我需要添加在XAML代码添加网站的网址?我想在标签杂货下面添加链接,当我试图使用标签和文本选项添加URL时,URL仍然像标签一样,但我希望它以这样一种方式,如果我点击URL,它应该带我到浏览器中的网站。

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="MyApp.AboutPage">
   <ContentPage.Content>
    <StackLayout Orientation="Vertical" HorizontalOptions="CenterAndExpand" 
 VerticalOptions="CenterAndExpand">
        <Label Text="My List" />
        <Label Text="groceries"/>
        <Button BackgroundColor="black" TextColor="White" WidthRequest="40" 
  HeightRequest="40" Text="OK" Clicked="OnRedirectMain" 
   BorderColor="Transparent" BorderWidth="1"/>

    </StackLayout>
</ContentPage.Content>
 </ContentPage>

字符串

hvvq6cgz

hvvq6cgz1#

<Button Text="Google" Clicked="GoGoogle" />

protected void GoGoogle(object sender, EventArgs e) {
  Device.OpenUri(new Uri("http://www.google.com"));
}

字符串
如果您不想使用按钮,可以使用带有手势标签

<Label Text="Google">
  <Label.GestureRecognizers>
      <TapGestureRecognizer Tapped="GoGoogle" />
  </Label.GestureRecognizers>
</Label>

protected void GoGoogle(object sender, EventArgs e) {
      Device.OpenUri(new Uri("http://www.google.com"));
    }

4ktjp1zp

4ktjp1zp2#

对于那些试图在2023年实现同样目标的人:
以下命令已过时
第一个月
请改用以下命令:

Launcher.OpenAsync(new Uri("https://typeyoururlhere.com"));

字符串

inkz8wg9

inkz8wg93#

<Label>

    <Label.FormattedText>
        <FormattedString>
            <Span Text="Go to SO" ForegroundColor="Blue"/>
        </FormattedString>
    </Label.FormattedText>

    <Label.GestureRecognizers>
          <TapGestureRecognizer Tapped="GoToSO" />
    </Label.GestureRecognizers>

</Label>

protected void GoToSO(object sender, EventArgs e) 
{
    Device.OpenUri(new Uri("http://www.stackoverflow.com"));
}

字符串

kyvafyod

kyvafyod4#

如果将IDommands与MVVM一起使用,则可以执行以下操作:
使用具有ICommand属性的ViewModel:

public class MyViewModel : INotifyPropertyChanged
{
    // details redacted ...

    public MyViewModel()
    {
        //...
        OpenGoogleCommand = new Command(() => Device.OpenUri(new Uri("http://www.google.com")));
    }
    public ICommand OpenGoogleCommand { get; }
}

字符串
然后在标签中绑定命令:

<Label>
    <Label.FormattedText>
        <FormattedString>
            <FormattedString.Spans>
                <Span Text="Link to Google" FontSize="Large"
                      TextColor="Blue"
                      FontAttributes="Bold"/>
            </FormattedString.Spans>
        </FormattedString>
    </Label.FormattedText>
    <Label.GestureRecognizers>
        <TapGestureRecognizer Command="{Binding OpenGoogleCommand}" />
    </Label.GestureRecognizers>
</Label>

相关问题