using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using Xamarin.Forms; using Xamarin.Essentials; // przeglądarka namespace programmingLanguages1 { public partial class MainPage : ContentPage { // lista języków public IList Languages { get; private set; } // konstruktor public MainPage() { InitializeComponent(); // zainicjalizowanie listy języków Languages = new List(); // wypełnienie listy języków poszczególnymi językami Languages.Add(new Language { Name = "C", Year = "1972", Image = "C_Programming_Language.png", Url = "https://en.wikipedia.org/wiki/C_(programming_language)" }); Languages.Add(new Language { Name = "C++", Year = "1983", Image = "Cplusplus.png", Url = "https://pl.wikipedia.org/wiki/C%2B%2B" }); Languages.Add(new Language { Name = "Python", Year = "1991", Image = "python.png", Url = "https://en.wikipedia.org/wiki/Python_%28programming_language%29" }); // bindowanie BindingContext = this; } // metoda trigerowana przez wybranie elementu CollectionView void OnSelectionChanged(object sender, SelectionChangedEventArgs e) { // uaktywniamy wybrany element (zmienia się tło) Language selectedItem = e.CurrentSelection[0] as Language; // otwieramy przegladarkę, url openBr(new Uri(selectedItem.Url)); } // metoda asynchroniczna otwierająca przeglądarkę public async void openBr(Uri uri) { await Browser.OpenAsync(uri, BrowserLaunchMode.SystemPreferred); } } }