Advertisement
Guest User

Untitled

a guest
Oct 4th, 2017
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.66 KB | None | 0 0
  1. using System.Collections.Generic;
  2.  
  3. namespace App3
  4. {
  5. public class Kontakter
  6. {
  7. public string Fuldenavn { get; set; }
  8. public int Tlfnr { get; set; }
  9. public string Email { get; set; }
  10. public string Adresse { get; set; }
  11. public string Billed { get; set; }
  12.  
  13. public List<Kontakter> GetKontakter()
  14. {
  15. List<Kontakter> kontakter = new List<Kontakter>
  16. {
  17. new Kontakter
  18. {
  19. Fuldenavn = "Anders (ANSE)",
  20. Email = "Random@gmail.com",
  21. Tlfnr = 12345678,
  22. },
  23. new Kontakter
  24. {
  25. Fuldenavn = "Anja (ANBI)",
  26. Email = "Random@hotmail.dk",
  27. Tlfnr = 87654321,
  28. },
  29. new Kontakter
  30. {
  31. Fuldenavn = "Benn (BMR)",
  32. Email = "Random@hotmail.com",
  33. Tlfnr = 12876534,
  34. },
  35. new Kontakter
  36. {
  37. Fuldenavn = "Christian (CBE)",
  38. Email = "Nothing@gmail.com",
  39. Tlfnr = 18273645,
  40. },
  41. };
  42. return kontakter;
  43. }
  44. }
  45. }
  46.  
  47. using Plugin.Messaging;
  48. using System;
  49. using System.Linq;
  50. using Xamarin.Forms;
  51.  
  52. namespace App3
  53. {
  54. public partial class MainPage : ContentPage
  55. {
  56. KontaktlisteView vm;
  57.  
  58. public MainPage()
  59. {
  60. InitializeComponent();
  61. vm = new KontaktlisteView();
  62. NameslistView.ItemsSource = vm.Kontakter;
  63. }
  64.  
  65. private async void Kontakter_ItemTapped(object sender, ItemTappedEventArgs e)
  66. {
  67. ((ListView)sender).SelectedItem = null;
  68. var Kontakter = e.Item as Kontakter;
  69.  
  70. await DisplayAlert("Kontakt", "nName: " + Kontakter.Fuldenavn + "nTelefon: " + Kontakter.Tlfnr + "nEmail: " + Kontakter.Email, "Luk");
  71. }
  72.  
  73. private void MainSearchBar_SearchButtonPressed(object sender, EventArgs e)
  74. {
  75. var keyword = MainSearchBar.Text;
  76. NameslistView.ItemsSource = vm.Kontakter.Where(obj => (obj.Fuldenavn.Contains(keyword) || obj.Tlfnr.ToString().Contains(keyword)));
  77. }
  78. private void MainSearchBar_TextChanged(object sender, TextChangedEventArgs e)
  79. {
  80. NameslistView.ItemsSource = vm.Kontakter.Where(obj => (obj.Fuldenavn.Contains(e.NewTextValue) || obj.Tlfnr.ToString().Contains(e.NewTextValue)));
  81. }
  82.  
  83. private void OnEmailTapped(object sender, EventArgs e)
  84. {
  85. var emailMessenger = CrossMessaging.Current.EmailMessenger;
  86. if (emailMessenger.CanSendEmail)
  87.  
  88. emailMessenger.SendEmail("Something@gmail.com");
  89. }
  90.  
  91. private void TlfnrTapped(object sender, EventArgs e)
  92. {
  93. var phoneDialer = CrossMessaging.Current.PhoneDialer;
  94. if (phoneDialer.CanMakePhoneCall)
  95. phoneDialer.MakePhoneCall("12345678");
  96. }
  97. }
  98. }
  99.  
  100. <?xml version="1.0" encoding="utf-8" ?>
  101. <ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
  102. xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
  103. xmlns:local="clr-namespace:App3"
  104. x:Class="App3.MainPage">
  105.  
  106. <StackLayout>
  107. <SearchBar x:Name="MainSearchBar" Placeholder="SΓΈg" SearchButtonPressed="MainSearchBar_SearchButtonPressed" TextChanged="MainSearchBar_TextChanged"/>
  108. <ListView x:Name="NameslistView" HasUnevenRows="True" ItemTapped="Kontakter_ItemTapped" >
  109. <ListView.ItemTemplate>
  110. <DataTemplate>
  111. <ViewCell>
  112. <StackLayout Orientation="Vertical" >
  113. <Grid HeightRequest="5" BackgroundColor="White" />
  114. <StackLayout Orientation="Horizontal" BackgroundColor="LightSkyBlue" >
  115. <Image Source="{Binding Billed}" />
  116. <StackLayout Orientation="Vertical">
  117.  
  118. <Label Text="{Binding Fuldenavn}" TextColor="Black" FontSize="Large" />
  119.  
  120. <StackLayout>
  121. <Label Text="{Binding Tlfnr}" TextColor="Black" FontSize="Medium" />
  122.  
  123. <Label.GestureRecognizers>
  124. <TapGestureRecognizer Tapped="TlfnrTapped"/>
  125. </Label.GestureRecognizers>
  126. </StackLayout>
  127.  
  128. <StackLayout>
  129. <Label Text="{Binding Email}" TextColor="Black" FontSize="Medium" />
  130.  
  131. <Label.GestureRecognizers>
  132. <TapGestureRecognizer Tapped="OnEmailTapped"/>
  133. </Label.GestureRecognizers>
  134. </StackLayout>
  135.  
  136.  
  137.  
  138. </StackLayout>
  139. </StackLayout>
  140. </StackLayout >
  141. </ViewCell>
  142. </DataTemplate>
  143. </ListView.ItemTemplate>
  144. </ListView>
  145. </StackLayout >
  146.  
  147. </ContentPage>
  148.  
  149. using System.Collections.Generic;
  150.  
  151. namespace App3
  152. {
  153. public class KontaktlisteView
  154. {
  155. public List<Kontakter> Kontakter { get; set; }
  156. public static object SelectedItem { get; internal set; }
  157.  
  158. public KontaktlisteView()
  159. {
  160. Kontakter = new Kontakter
  161. ().GetKontakter();
  162. }
  163. }
  164. }
  165.  
  166. using System;
  167. using System.Collections.Generic;
  168. using System.Linq;
  169. using System.Text;
  170.  
  171. using Xamarin.Forms;
  172.  
  173. namespace App3
  174. {
  175. public partial class App : Application
  176. {
  177. public App ()
  178. {
  179. InitializeComponent();
  180.  
  181. MainPage = new App3.MainPage();
  182. }
  183.  
  184. protected override void OnStart ()
  185. {
  186. // Handle when your app starts
  187. }
  188.  
  189. protected override void OnSleep ()
  190. {
  191. // Handle when your app sleeps
  192. }
  193.  
  194. protected override void OnResume ()
  195. {
  196. // Handle when your app resumes
  197. }
  198. }
  199. }
  200.  
  201. emailMessenger.SendEmail(((Label)sender).Text);
  202.  
  203. phoneDialer.MakePhoneCall(((Label)sender).Text);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement