зеркало из https://github.com/DeGsoft/maui-linux.git
81 строка
1.9 KiB
C#
81 строка
1.9 KiB
C#
using System;
|
|
|
|
namespace Xamarin.Forms.Controls
|
|
{
|
|
public class AppLinkPageGallery : ContentPage
|
|
{
|
|
public AppLinkPageGallery ()
|
|
{
|
|
_linkEntry = GetEntry ();
|
|
_lbl = new Label {
|
|
Text = "You are on a demo page via app url", IsVisible = ShowLabel
|
|
};
|
|
|
|
var btnRegister = new Button { Text = "Index this Page",
|
|
Command = new Command (() => Application.Current.AppLinks.RegisterLink (LinkEntry))
|
|
};
|
|
var btnRemove = new Button { Text = "Remove this Page from index",
|
|
Command = new Command (() => Application.Current.AppLinks.DeregisterLink (LinkEntry))
|
|
};
|
|
|
|
var btnClearAll = new Button { Text = "Clear All Indexed Data",
|
|
// Command = new Command (() => Application.Current.AppLinks.DeregisterAll ())
|
|
};
|
|
|
|
Content = new StackLayout { Children = { _lbl, btnRegister, btnRemove, btnClearAll } };
|
|
}
|
|
|
|
protected override void OnAppearing ()
|
|
{
|
|
LinkEntry.IsLinkActive = true;
|
|
}
|
|
|
|
protected override void OnDisappearing ()
|
|
{
|
|
LinkEntry.IsLinkActive = false;
|
|
}
|
|
|
|
public bool ShowLabel {
|
|
get {
|
|
return _showlabel;
|
|
}
|
|
set {
|
|
_showlabel = value;
|
|
_lbl.IsVisible = _showlabel;
|
|
}
|
|
}
|
|
|
|
internal IAppLinkEntry LinkEntry {
|
|
get {
|
|
return _linkEntry;
|
|
}
|
|
}
|
|
|
|
bool _showlabel;
|
|
IAppLinkEntry _linkEntry;
|
|
Label _lbl;
|
|
|
|
AppLinkEntry GetEntry ()
|
|
{
|
|
if (string.IsNullOrEmpty (Title))
|
|
Title = "App Link Page Gallery";
|
|
|
|
var type = GetType ().ToString ();
|
|
var entry = new AppLinkEntry {
|
|
Title = Title,
|
|
Description =$"This is the page {Title} \nof Xamarin Forms Gallery",
|
|
AppLinkUri = new Uri ($"http://{App.AppName}/gallery/{type}", UriKind.RelativeOrAbsolute),
|
|
IsLinkActive = true,
|
|
Thumbnail = ImageSource.FromFile ("seth.png")
|
|
};
|
|
|
|
entry.KeyValues.Add ("contentType", "GalleryPage");
|
|
entry.KeyValues.Add ("appName", App.AppName);
|
|
entry.KeyValues.Add ("companyName", "Xamarin");
|
|
|
|
return entry;
|
|
}
|
|
}
|
|
}
|
|
|