tuomasvaltanen

Untitled

Mar 18th, 2021 (edited)
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.25 KB | None | 0 0
  1. XAML:
  2. <!-- Kuvien pyöritys, tämä pyörittää kuvaa paikallaan 180 astetta -->
  3. <Image Source="Assets/citynight.jpg" Width="600" Opacity="0.5"
  4. RenderTransformOrigin="0.5,0.5">
  5. <Image.RenderTransform>
  6. <RotateTransform Angle="180" />
  7. </Image.RenderTransform>
  8. </Image>
  9.  
  10. EvenTesting.xaml:
  11.  
  12. <StackPanel Margin="30">
  13.  
  14. <Border Name="MouseBorder">
  15. <TextBlock Name="MouseText"
  16.  
  17. PointerEntered="MouseText_PointerEntered"
  18. PointerExited="MouseText_PointerExited"
  19. FontSize="60"
  20. Width="120">
  21. OFF
  22. </TextBlock>
  23. </Border>
  24.  
  25. <TextBox TextChanged="TextBox_TextChanged"></TextBox>
  26.  
  27. <Slider Name="NumberSlider" Minimum="1" Maximum="5" ValueChanged="NumberSlider_ValueChanged" />
  28. <TextBlock Name="SliderText"></TextBlock>
  29.  
  30. <CheckBox Margin="10" Checked="CheckBox_Checked" Unchecked="CheckBox_Unchecked">Tumma teema käytössä</CheckBox>
  31. <RadioButton Margin="10" GroupName="confirmation" Checked="RadioButton_Checked">Kyllä</RadioButton>
  32. <RadioButton Margin="10" GroupName="confirmation" Checked="RadioButton_Checked">Ei</RadioButton>
  33.  
  34. <ListBox Margin="10" Name="WordListBox" SelectionChanged="WordListBox_SelectionChanged">
  35. <ListBoxItem>Lontoo</ListBoxItem>
  36. <ListBoxItem>Helsinki</ListBoxItem>
  37. <ListBoxItem>Tukholma</ListBoxItem>
  38. <ListBoxItem>Berliini</ListBoxItem>
  39. </ListBox>
  40. <TextBlock Margin="10" Name="ListBoxSelection"></TextBlock>
  41.  
  42. </StackPanel>
  43.  
  44.  
  45. NavigationViewin värit vaihdetaan Page.Resourcesin kautta:
  46.  
  47. <Page.Resources>
  48. <SolidColorBrush x:Key="NavigationViewExpandedPaneBackground" Color="Thistle"/>
  49. <SolidColorBrush x:Key="NavigationViewDefaultPaneBackground" Color="Thistle" />
  50. </Page.Resources>
  51.  
  52. --------------------------------------------------------------------
  53.  
  54. C#:
  55.  
  56. MovieParameters.cs
  57.  
  58. public class MovieParameters
  59. {
  60. public String Title { get; set; }
  61. public int Year { get; set; }
  62. }
  63. }
  64.  
  65. MainPage.xaml.cs
  66.  
  67. private void Button_Click_4(object sender, RoutedEventArgs e)
  68. {
  69. //string parameter = UserText.Text;
  70. //this.Frame.Navigate(typeof(EventTesting), parameter);
  71.  
  72. (App.Current as App).NightMode = true;
  73.  
  74. MovieParameters mp = new MovieParameters();
  75. mp.Title = "Pulp Fiction";
  76. mp.Year = 1994;
  77.  
  78. this.Frame.Navigate(typeof(EventTesting), mp);
  79. }
  80.  
  81. EventTesting.xaml.cs
  82.  
  83. private void Page_KeyDown(object sender, KeyRoutedEventArgs e)
  84. {
  85. if(e.Key == Windows.System.VirtualKey.F1)
  86. {
  87. Debug.WriteLine("Tässäpä olisi ohjeet. Kiitos.");
  88. }
  89. }
  90.  
  91. private void WordListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
  92. {
  93. ListBoxItem li = WordListBox.SelectedItem as ListBoxItem;
  94. string value = li.Content.ToString();
  95. value = value.ToUpper();
  96.  
  97. ListBoxSelection.Text = value;
  98. }
  99.  
  100. private void CheckBox_Checked(object sender, RoutedEventArgs e)
  101. {
  102. Debug.WriteLine("Dark mode päällä!");
  103.  
  104. SolidColorBrush mySolidColorBrush = new SolidColorBrush(Windows.UI.Colors.DarkGray);
  105.  
  106. // tämän jälkeen esim. Borderin (Name = SomeBorder) taustaväri:
  107. MouseBorder.Background = mySolidColorBrush;
  108. }
  109.  
  110. private void CheckBox_Unchecked(object sender, RoutedEventArgs e)
  111. {
  112. Debug.WriteLine("Light mode päällä!");
  113. SolidColorBrush mySolidColorBrush = new SolidColorBrush(Windows.UI.Colors.Transparent);
  114.  
  115. // tämän jälkeen esim. Borderin (Name = SomeBorder) taustaväri:
  116. MouseBorder.Background = mySolidColorBrush;
  117. }
  118.  
  119. private void RadioButton_Checked(object sender, RoutedEventArgs e)
  120. {
  121. RadioButton rb = sender as RadioButton;
  122. Debug.WriteLine("Valinta: " + rb.Content.ToString());
  123. }
  124.  
  125. // tässä tapauksessa SecondPagessa pitää löytyä seuraava metodi, jotta parametri saadaankäyttöön
  126. protected override void OnNavigatedTo(NavigationEventArgs e)
  127. {
  128. base.OnNavigatedTo(e);
  129. //var parameter = (String)e.Parameter;
  130. //Debug.WriteLine("Parametri on: " + parameter);
  131.  
  132. Debug.WriteLine((App.Current as App).NightMode);
  133.  
  134. MovieParameters mp = e.Parameter as MovieParameters;
  135. Debug.WriteLine(mp.Title + ":" + mp.Year);
  136. }
  137.  
  138. private void Page_Loaded(object sender, RoutedEventArgs e)
  139. {
  140. Debug.WriteLine("SIVU ON NYT VALMIS!");
  141. }
  142.  
  143.  
  144. NavigationView, C#:
  145.  
  146. // jos haluaa ettei projektin nimeä tarte kirjoittaa itse koodiin, voidaan tehdä näin:
  147.  
  148. private string projectName = "";
  149.  
  150. public MainPage()
  151. {
  152. this.InitializeComponent();
  153.  
  154. projectName = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;
  155.  
  156. }
  157.  
  158. // "rujo" ratkaisu miten saadaan parametrit siirretty myös navigationviewin kanssa,
  159. // MainPage.xaml.cs:
  160. public void NavigateExercise2Parameters(string p)
  161. {
  162.  
  163. var view = Assembly.GetExecutingAssembly()
  164. .GetType($"{projectName}.Views.Exercise2");
  165.  
  166.  
  167. ContentFrame.Navigate(view, p, new EntranceNavigationTransitionInfo());
  168.  
  169. }
  170.  
  171. // sivu mihin navigoidaan:
  172.  
  173. protected override void OnNavigatedTo(NavigationEventArgs e)
  174. {
  175. base.OnNavigatedTo(e);
  176.  
  177. if(e.Parameter != null)
  178. {
  179. Debug.WriteLine("Navigointiparametri: " + e.Parameter);
  180. }
  181.  
  182.  
  183. }
  184.  
  185. // sivu josta navigoidaan:
  186.  
  187. private void Button_Click(object sender, RoutedEventArgs e)
  188. {
  189. Frame contentFrame = Window.Current.Content as Frame;
  190. MainPage mp = contentFrame.Content as MainPage;
  191.  
  192. string test_parameter = "ALISIVULTA PÄIVÄÄ!";
  193.  
  194. mp.NavigateExercise2Parameters(test_parameter);
  195. }
Add Comment
Please, Sign In to add comment