рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8: рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред рдореИрдЯреНрд░рд┐рдХреНрд╕ред рднрд╛рдЧ реи

рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8: рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред рдореИрдЯреНрд░рд┐рдХреНрд╕ред рднрд╛рдЧ 1
рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8: рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВред рдореИрдЯреНрд░рд┐рдХреНрд╕ред рднрд╛рдЧ реи

рдирдорд╕реНрддреЗ рдЖрдЬ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рдирдП рдкреИрдиреЛрд░рдорд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рднреА рдЬреЛрдбрд╝реЗрдВрдЧреЗ, рдЬреЛ рд╣рдореЗрдВ рд╕рднреА рдореИрдЯреНрд░рд┐рдХреНрд╕ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░реЗрдВ рдХрд┐ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рджрд░реНрд╢рди рддреЗрдЬреА рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЕрднреА рднреА рдЕрдЧрд▓реЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдХрд░реЗрдВрдЧреЗред

рдореИрдВ рдЗрди рд▓реЗрдЦреЛрдВ рдХреЗ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЛ рддреБрд░рдВрдд рдпрд╛рдж рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдпрд╣ рд╕рдм рдХреБрдЫ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрд╡реЗрджрди рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ: рд╡рд┐рднрд┐рдиреНрди рдирд┐рдпрдВрддреНрд░рдг, рддрдХрдиреАрдХ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдЖрджрд┐ред рдЦреИрд░, рд╕рд╛рде рд╣реА рд╡рд╛рдВрдЫрд┐рдд рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрддрд┐рдо рдЙрддреНрдкрд╛рдж рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред


рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ

рдореИрдВ рдХреЛрдб рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдореНрдорд╛рдирд┐рдд рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЖрдпрд╛рдо рдХрд╛рдлреА рдмрдбрд╝реЗ рд╣реЛ рдЧрдПред рдпрджрд┐ рдЖрдк рднреА рддреБрд░рдВрдд рдЕрдиреБрдХреВрд▓рди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рддрд░реНрдХ рдХреА рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░реЗрдЧрд╛ред рдЕрдиреБрдХреВрд▓рди рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ рд╣реЛрдЧрд╛ред рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдЗрд╕ рднрд╛рдЧ рдХреЗ рдЙрджреНрджреЗрд╢реНрдп


  1. рдкреИрдиреЛрд░рдорд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  2. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧ рдмрдирд╛рдПрдВ

рдирд┐рдореНрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИрдВ



рдЖрдк рд╡реАрдбрд┐рдпреЛ рдкрд░ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:




рдЪрд▓рд┐рдП рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ


рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдВред рдкреИрдиреЛрд░рдорд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдРрдкред
рдореЗрд░рд╛ рдирд╛рдо SE_Matrix_2d_v_4 рд╣реЛрдЧрд╛ред
рдмрд╛рдХреА рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдХреА рддрд░рд╣ рд╣реИред

MainPage.xaml


рдпрд╣рд╛рдБ рд╣рдордиреЗ рдереЛрдбрд╝рд╛ рдХреЛрдб рдЬреЛрдбрд╝рд╛ рд╣реИред рдкреИрдиреЛрд░рдорд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдореЗрдВ рдореЗрд░реЗ 3 рдЦрдВрдб рд╣реИрдВ:

<!--  Panorama--> <phone:Panorama Title=""> <phone:Panorama.Background> <ImageBrush /> </phone:Panorama.Background> <!--  Panorama--> <phone:PanoramaItem > ... </phone:PanoramaItem> <!--  Panorama--> <phone:PanoramaItem> ... </phone:PanoramaItem> <!--  Panorama--> <phone:PanoramaItem> ... </phone:PanoramaItem> </phone:Panorama> 

рдкрд╣рд▓реЗ рддрддреНрд╡ рдореЗрдВ, рд╣рдо рд╕реАрдзреЗ рдорд╛рдирдЪрд┐рддреНрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИ, рд╕рдм рдХреБрдЫ рдкрд╣рд▓реЗ рднрд╛рдЧ рдЬреИрд╕рд╛ рд╣реА рд╣реИ:

  <!--  Panorama--> <phone:PanoramaItem > <Grid x:Name="LayoutRootSecond" Background="Black" Margin="0,-32,-2,7" RenderTransformOrigin="0.500,0.500" Tap="Event_Grid_Tap_LayoutRoot"/> </phone:PanoramaItem> 

рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╡рд░реНрдгрд┐рдд 13 рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ 9 рдХреЛ рджреВрд╕рд░реЗ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ: рдкрд╛рда рдмреЙрдХреНрд╕ рдореЗрдВ рдирд╛рдо, рдорд╛рди рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдФрд░ рджрд┐рдП рдЧрдП рдорд╛рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдЯрдиред рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕реНрдХреНрд░реЙрд▓рд╡рд┐рд╡рд░ рдореЗрдВ рднреА рд▓рд┐рдкрдЯреЗ рд╣реБрдП рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╕реВрдЪреА рдПрдХ рд╕реНрдХреНрд░реАрди рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреЗрдХреНрд╕реНрдЯрдмреЙрдХреНрд╕ рдореЗрдВ, рдЗрдирдкреБрдЯ рд╡рд┐рдзрд┐ рдХреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ, InputScope = "рд╕рдВрдЦреНрдпрд╛"ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреАрдмреЛрд░реНрдб InputScope = "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдХреЛрдбред рдкреИрдиреЛрд░рдорд╛ рдХрд╛ рджреВрд╕рд░рд╛ рддрддреНрд╡
  <!--  Panorama--> <phone:PanoramaItem> <Grid x:Name="LayoutRootThierd" Grid.Column="1" Background="Transparent" Margin="0, 0,-2,7" RenderTransformOrigin="0.500,0.500" > <ScrollViewer HorizontalScrollBarVisibility="Auto" > <Grid x:Name="Grid_SettingsRight" Grid.Column="1" Background="Transparent" Margin="0, 0,-2,7" RenderTransformOrigin="0.500,0.500" > <!--     /      --> <TextBlock HorizontalAlignment="Left" Margin="28,3,0,0" TextWrapping="Wrap" Text="    " VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_SppeedFrom" InputScope="Number" HorizontalAlignment="Left" Height="67" TextWrapping="Wrap" Text="20" VerticalAlignment="Top" Width="100" Margin="9,28,0,0"/> <TextBox x:Name="TextBox_SppeedTo" InputScope="Number" HorizontalAlignment="Left" Height="67" TextWrapping="Wrap" Text="40" VerticalAlignment="Top" Width="100" Margin="114,28,0,0"/> <Button x:Name="Button_SpeedApplay" Content=" Ok " HorizontalAlignment="Left" Height="65" Margin="288,30,0,0" VerticalAlignment="Top" Click="Event_Button_Click_SpeedApplay"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="28,95,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" RenderTransformOrigin="-0.256,0.233" Width="352"/> <TextBox x:Name="TextBox_CountQueue" InputScope="Number" HorizontalAlignment="Left" Height="67" Margin="10,127,0,0" TextWrapping="Wrap" Text="5" VerticalAlignment="Top" Width="101" RenderTransformOrigin="0.49,-0.049"/> <Button x:Name="Button_CountQueue" Content=" Ok " HorizontalAlignment="Left" Margin="287,127,0,0" VerticalAlignment="Top" Click="Event_Button_Click_CountQueue" RenderTransformOrigin="1.474,0.483" Height="67"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="28,194,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_ountSimultaneously" InputScope="Number" HorizontalAlignment="Left" Height="72" Margin="10,221,0,0" TextWrapping="Wrap" Text="1" VerticalAlignment="Top" Width="101"/> <Button x:Name="Button_ountSimultaneously" Content=" Ok " HorizontalAlignment="Left" Margin="288,221,0,0" VerticalAlignment="Top" Click="Event_Button_Click_ountSimultaneously" RenderTransformOrigin="1.474,0.483"/> <!--   --> <TextBlock HorizontalAlignment="Left" Margin="27,293,0,0" TextWrapping="Wrap" Text="  (+ - [n])" VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_FontSize" InputScope="Default" HorizontalAlignment="Left" Height="72" Margin="9,320,0,0" TextWrapping="Wrap" Text="-2" VerticalAlignment="Top" Width="101"/> <Button x:Name="Button_FontSize" Content=" Ok " HorizontalAlignment="Left" Margin="288,320,0,0" VerticalAlignment="Top" Click="Event_Button_Click_FontSize" RenderTransformOrigin="1.474,0.483"/> <!--      --> <TextBlock HorizontalAlignment="Left" Margin="28,392,0,0" TextWrapping="Wrap" Text="  " VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_CountSymbol" InputScope="Number" HorizontalAlignment="Left" Height="72" Margin="10,419,0,0" TextWrapping="Wrap" Text="3" VerticalAlignment="Top" Width="101"/> <Button x:Name="Button_CountSymbol" Content=" Ok " HorizontalAlignment="Left" Margin="288,419,0,0" VerticalAlignment="Top" Click="Event_Button_Click_CountSymbol" RenderTransformOrigin="1.474,0.483"/> <!--  /   --> <TextBlock x:Name="TextBlock_OnOff" HorizontalAlignment="Left" Margin="28,491,0,0" TextWrapping="Wrap" Text="/ " VerticalAlignment="Top" Width="352"/> <ToggleButton x:Name="Button_Stop" Content="Stop" HorizontalAlignment="Left" Margin="214,523,0,0" VerticalAlignment="Top" Click="Event_Button_Click_Stop" Width="180"/> <ToggleButton x:Name="Button_Start" Content="Start" HorizontalAlignment="Left" Margin="10,523,0,0" VerticalAlignment="Top" Click="Event_Button_Click_Start" Width="180"/> <!--   --> <TextBlock HorizontalAlignment="Left" Margin="28,605,0,0" TextWrapping="Wrap" Text="  ?" VerticalAlignment="Top" Width="352"/> <Button Content=" YES " HorizontalAlignment="Left" Margin="10,632,0,0" VerticalAlignment="Top" Width="371" Click="Event_Button_Click_Clear"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="27,709,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" Width="369"/> <TextBox x:Name="TextBox_ElementSize" InputScope="Default" HorizontalAlignment="Left" Height="72" Margin="10,734,0,-17" TextWrapping="Wrap" Text="-6" VerticalAlignment="Top" Width="101"/> <Button Content="Ok" HorizontalAlignment="Left" Margin="286,736,0,-19" VerticalAlignment="Top" Width="93" Click="Event_Button_Click_ElementSize"/> <!--   --> <TextBlock HorizontalAlignment="Left" Margin="27,809,0,0" TextWrapping="Wrap" Text="  : :" VerticalAlignment="Top" Width="369"/> <TextBox x:Name="TextBox_MinLength" InputScope="Number" HorizontalAlignment="Left" Height="72" Margin="10,834,0,-17" TextWrapping="Wrap" Text="3" VerticalAlignment="Top" Width="101"/> <TextBox x:Name="TextBox_MaxLength" InputScope="Number" HorizontalAlignment="Left" Height="67" TextWrapping="Wrap" Text="10" VerticalAlignment="Top" Width="100" Margin="114,834,0,-17"/> <Button Content="Ok" HorizontalAlignment="Left" Margin="286,836,0,-19" VerticalAlignment="Top" Width="93" Click="Event_Button_Click_MaxLength"/> <!--  /   --> <TextBlock HorizontalAlignment="Left" Margin="28,905,0,0" TextWrapping="Wrap" Text=" " VerticalAlignment="Top" Width="352"/> <ToggleButton x:Name="ToggleButton_Turn" Content="" HorizontalAlignment="Left" Margin="10,932,0,0" VerticalAlignment="Top" Width="371" Click="Event_Button_Click_Turn"/> </Grid> </ScrollViewer> </Grid> 


рдЕрдВрддрд┐рдо 4 рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рддреАрд╕рд░реЗ рддрддреНрд╡ рдореЗрдВ рдмрдиреА рд░рд╣реАрдВ: рднрд╛рд╖рд╛ рдХрд╛ рдЪрдпрди, рд░рдВрдЧ рдФрд░ рдкрд╣рд▓реЗ рддрддреНрд╡, рдкреГрд╖реНрдарднреВрдорд┐, рд╕рд╛рдВрдк рдХреЗ рд▓рд┐рдП рдврд╛рд▓ рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдирд╛ред рд╡рд░реНрдЯрд┐рдХрд▓ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕реНрдХреНрд░реЙрд▓рд╡рд┐рд╡рд░ рдореЗрдВ рднреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рдПрдХ рдЧреИрд░-рдорд╛рдирдХ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрдбрд╝рд╛, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ ColorPickerред рдпрд╣ Coding4Fun рдирд╛рдордХ рддрддреНрд╡реЛрдВ рдХреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреЛрдбрд┐рдВрдЧ 4fun рдХреИрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

рдореЗрд░реЗ рдкрд╛рд╕ рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рд╕реЗ рд╕реЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ред
рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░реЗрдВред
"рд╡рд╛рдпрд╛ рдХреЛрдбрдкреНрд▓реЗрдХреНрд╕ рдХрд░рдВрдЯ рд░рд┐рд▓реАрдЬрд╝ рдЬрд┐рдк" рдХрд╣рдиреЗ рд╡рд╛рд▓реЗ рдмрдбрд╝реЗ рд▓рд╛рд▓ рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
"Coding4Fun.Toolkit (рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди 8) .zip" рдирд╛рдо рд╕реЗ рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рд╕рдВрдЧреНрд░рд╣ рд╕реЗ, "Coding4Fun.Toolkit.Controls.dll" рдирд╛рдо рдХреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред
рд╣рдо рдлрд╝реЛрд▓реНрдбрд░ "рд╕рдВрджрд░реНрдн" рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВред рджрд╛рд╣рд┐рдиреЗ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ - рдиреАрдЪреЗ рджрд╛рдИрдВ рдУрд░, рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ... рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдвреВрдВрдвреЗрдВ рдФрд░ рдареАрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдЯреВрд▓рдмреЙрдХреНрд╕ рдкрд░ рдЬрд╛рдПрдВред рдЗрд╕рдХреЗ рдЧрд▓рд┐рдпрд╛рд░реЛрдВ рдореЗрдВ рдХрд╣реАрдВ рднреА рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ - рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ ... рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдХрдВрдкреЛрдиреЗрдВрдЯ рдЯреИрдм рдЪреБрдиреЗрдВред рдиреАрдЪреЗ рджрд╛рдИрдВ рдУрд░, рдЕрд╡рд▓реЛрдХрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ рд╕реЗ Coding4Fun.Toolkit.Controls.dll рдЪреБрдиреЗрдВред рдирдИ рд╡рд╕реНрддреБрдУрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ ColorPicker рддрддреНрд╡ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдПрдХ рдЪреЗрдХрдорд╛рд░реНрдХ рд╣реЛрдЧрд╛ред
рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ

  xmlns:Controls="clr-namespace:Coding4Fun.Toolkit.Controls;assembly=Coding4Fun.Toolkit.Controls" 

рдЪрд▓рд┐рдП рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВред рдЯреВрд▓рдмреЙрдХреНрд╕ рд╕реЗ ColorPicker рдЦреАрдВрдЪреЗрдВред рдПрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдЕрдм рд╣рдо рдПрдХ рддрддреНрд╡ рдкрд░ рд░рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдЪрдпрдирд┐рдд рд░рдВрдЧ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдмрдЯрди рдХреЗ рд╕рд╛рде рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░реЗрдВрдЧреЗред

  <!--   . Codding4Fun --> <Controls:ColorPicker x:Name="ColorPicker" VerticalAlignment="Top" Height="360" Margin="10,154,10,0"/> <TextBlock HorizontalAlignment="Left" Margin="10,114,0,0" TextWrapping="Wrap" Text=" " VerticalAlignment="Top" Width="412" Height="35"/> 

рд╣рдо рдПрдХ рдмрдЯрди рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬрдм рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:

  <!--    --> <StackPanel Margin="0,0,0,649" > <!--   --> <Popup Name="Popup_ButtonDropDownSelectLanguage" Margin="0,0,10,0"> <StackPanel Margin="10,50,0,0" Background="DarkGray" Width="393" Name="StackPanel_ButtonDropDownSelectLanguage"> </StackPanel> </Popup> <TextBlock TextWrapping="Wrap" Text="  "/> <!-- ,   .       --> <Button Margin="0,10,10,0" x:Name="Button_SelectLanguage" Content="" Click="Event_Button_Click_SelectLanguage" Height="74" /> </StackPanel> 

рдФрд░ рдкреИрдиреЛрд░рдорд╛ рдХреЗ рджреВрд╕рд░реЗ рддрддреНрд╡ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рд╕реЗ, рдмрдЯрди рдХреА рдПрдХ рдЬреЛрдбрд╝реАред

рдХреЛрдбред рдкреИрдиреЛрд░рдорд╛ рдХрд╛ рддреАрд╕рд░рд╛ рддрддреНрд╡
  <!--  Panorama--> <phone:PanoramaItem > <Grid x:Name="LayoutRoot123" Background="Transparent" Margin="0,-32,-2,7" RenderTransformOrigin="0.500,0.500" > <ScrollViewer HorizontalScrollBarVisibility="Hidden" Margin="0,26,0,0" > <Grid Margin="0,0,0,0" Height="984" > <!--    --> <StackPanel Margin="0,0,0,649" > <!--   --> <Popup Name="Popup_ButtonDropDownSelectLanguage" Margin="0,0,10,0"> <StackPanel Margin="10,50,0,0" Background="DarkGray" Width="393" Name="StackPanel_ButtonDropDownSelectLanguage"> </StackPanel> </Popup> <TextBlock TextWrapping="Wrap" Text="  "/> <!-- ,   .       --> <Button Margin="0,10,10,0" x:Name="Button_SelectLanguage" Content="" Click="Event_Button_Click_SelectLanguage" Height="74" /> </StackPanel> <!--   . Codding4Fun --> <Controls:ColorPicker x:Name="ColorPicker" VerticalAlignment="Top" Height="360" Margin="10,154,10,0"/> <TextBlock HorizontalAlignment="Left" Margin="10,114,0,0" TextWrapping="Wrap" Text=" " VerticalAlignment="Top" Width="412" Height="35"/> <!--    --> <Button x:Name="Button_BackgroundColor" Content=" " HorizontalAlignment="Left" Margin="10,533,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.404,-0.757" Width="412" Click="Event_Button_Click_ChangeBackground"/> <!--     --> <Button x:Name="Button_FirstSymbolColor" Content="  " HorizontalAlignment="Left" Margin="10,605,0,0" VerticalAlignment="Top" Width="412" Click="Event_Button_Click_FirstSymbolColor"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="10,682,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" RenderTransformOrigin="-0.915,-1.222" Width="412"/> <Button x:Name="Button_GradientFrom" Content="" HorizontalAlignment="Left" Margin="10,714,0,0" VerticalAlignment="Top" Width="180" Click="Event_Button_Click_GradientFrom"/> <Button x:Name="Button_GradientTo" Content="" HorizontalAlignment="Left" Margin="245,714,0,0" VerticalAlignment="Top" Width="180" Click="Event_Button_Click_GradientTo"/> </Grid> </ScrollViewer> </Grid> </phone:PanoramaItem> 


рдХреЛрдбред MainPage.xaml
 <phone:PhoneApplicationPage xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone" xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:UI="clr-namespace:Microsoft.Advertising.Mobile.UI;assembly=Microsoft.Advertising.Mobile.UI" xmlns:Controls="clr-namespace:Coding4Fun.Toolkit.Controls;assembly=Coding4Fun.Toolkit.Controls" x:Class="SE_Matrix_2d_v_4.MainPage" mc:Ignorable="d" d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}" FontFamily="{StaticResource PhoneFontFamilyNormal}" FontSize="{StaticResource PhoneFontSizeNormal}" Foreground="{StaticResource PhoneForegroundBrush}" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="False"> <!--LayoutRoot   ,     --> <Grid x:Name="LayoutRoot" Background="Transparent"> <!--   :    ,               (AppResources.resx),             ,     . : Text="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}"          "ApplicationTitle".      " "   RESX-   ,         .          RESX-,  CurrentUICulture    . --> <!--  Panorama--> <phone:Panorama Title=""> <phone:Panorama.Background> <ImageBrush /> </phone:Panorama.Background> <!--  Panorama--> <phone:PanoramaItem > <!--    --> <Grid x:Name="LayoutRootSecond" Background="Black" Margin="0,-32,-2,7" RenderTransformOrigin="0.500,0.500" Tap="Event_Grid_Tap_LayoutRoot"/> </phone:PanoramaItem> <!--  Panorama--> <phone:PanoramaItem> <Grid x:Name="LayoutRootThierd" Grid.Column="1" Background="Transparent" Margin="0, 0,-2,7" RenderTransformOrigin="0.500,0.500" > <ScrollViewer HorizontalScrollBarVisibility="Auto" > <Grid x:Name="Grid_SettingsRight" Grid.Column="1" Background="Transparent" Margin="0, 0,-2,7" RenderTransformOrigin="0.500,0.500" > <!--     /      --> <TextBlock HorizontalAlignment="Left" Margin="28,3,0,0" TextWrapping="Wrap" Text="    " VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_SppeedFrom" InputScope="Number" HorizontalAlignment="Left" Height="67" TextWrapping="Wrap" Text="20" VerticalAlignment="Top" Width="100" Margin="9,28,0,0"/> <TextBox x:Name="TextBox_SppeedTo" InputScope="Number" HorizontalAlignment="Left" Height="67" TextWrapping="Wrap" Text="40" VerticalAlignment="Top" Width="100" Margin="114,28,0,0"/> <Button x:Name="Button_SpeedApplay" Content=" Ok " HorizontalAlignment="Left" Height="65" Margin="288,30,0,0" VerticalAlignment="Top" Click="Event_Button_Click_SpeedApplay"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="28,95,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" RenderTransformOrigin="-0.256,0.233" Width="352"/> <TextBox x:Name="TextBox_CountQueue" InputScope="Number" HorizontalAlignment="Left" Height="67" Margin="10,127,0,0" TextWrapping="Wrap" Text="5" VerticalAlignment="Top" Width="101" RenderTransformOrigin="0.49,-0.049"/> <Button x:Name="Button_CountQueue" Content=" Ok " HorizontalAlignment="Left" Margin="287,127,0,0" VerticalAlignment="Top" Click="Event_Button_Click_CountQueue" RenderTransformOrigin="1.474,0.483" Height="67"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="28,194,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_ountSimultaneously" InputScope="Number" HorizontalAlignment="Left" Height="72" Margin="10,221,0,0" TextWrapping="Wrap" Text="1" VerticalAlignment="Top" Width="101"/> <Button x:Name="Button_ountSimultaneously" Content=" Ok " HorizontalAlignment="Left" Margin="288,221,0,0" VerticalAlignment="Top" Click="Event_Button_Click_ountSimultaneously" RenderTransformOrigin="1.474,0.483"/> <!--   --> <TextBlock HorizontalAlignment="Left" Margin="27,293,0,0" TextWrapping="Wrap" Text="  (+ - [n])" VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_FontSize" InputScope="Default" HorizontalAlignment="Left" Height="72" Margin="9,320,0,0" TextWrapping="Wrap" Text="-2" VerticalAlignment="Top" Width="101"/> <Button x:Name="Button_FontSize" Content=" Ok " HorizontalAlignment="Left" Margin="288,320,0,0" VerticalAlignment="Top" Click="Event_Button_Click_FontSize" RenderTransformOrigin="1.474,0.483"/> <!--      --> <TextBlock HorizontalAlignment="Left" Margin="28,392,0,0" TextWrapping="Wrap" Text="  " VerticalAlignment="Top" Width="352"/> <TextBox x:Name="TextBox_CountSymbol" InputScope="Number" HorizontalAlignment="Left" Height="72" Margin="10,419,0,0" TextWrapping="Wrap" Text="3" VerticalAlignment="Top" Width="101"/> <Button x:Name="Button_CountSymbol" Content=" Ok " HorizontalAlignment="Left" Margin="288,419,0,0" VerticalAlignment="Top" Click="Event_Button_Click_CountSymbol" RenderTransformOrigin="1.474,0.483"/> <!--  /   --> <TextBlock x:Name="TextBlock_OnOff" HorizontalAlignment="Left" Margin="28,491,0,0" TextWrapping="Wrap" Text="/ " VerticalAlignment="Top" Width="352"/> <ToggleButton x:Name="Button_Stop" Content="Stop" HorizontalAlignment="Left" Margin="214,523,0,0" VerticalAlignment="Top" Click="Event_Button_Click_Stop" Width="180"/> <ToggleButton x:Name="Button_Start" Content="Start" HorizontalAlignment="Left" Margin="10,523,0,0" VerticalAlignment="Top" Click="Event_Button_Click_Start" Width="180"/> <!--   --> <TextBlock HorizontalAlignment="Left" Margin="28,605,0,0" TextWrapping="Wrap" Text="  ?" VerticalAlignment="Top" Width="352"/> <Button Content=" YES " HorizontalAlignment="Left" Margin="10,632,0,0" VerticalAlignment="Top" Width="371" Click="Event_Button_Click_Clear"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="27,709,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" Width="369"/> <TextBox x:Name="TextBox_ElementSize" InputScope="Default" HorizontalAlignment="Left" Height="72" Margin="10,734,0,-17" TextWrapping="Wrap" Text="-6" VerticalAlignment="Top" Width="101"/> <Button Content="Ok" HorizontalAlignment="Left" Margin="286,736,0,-19" VerticalAlignment="Top" Width="93" Click="Event_Button_Click_ElementSize"/> <!--   --> <TextBlock HorizontalAlignment="Left" Margin="27,809,0,0" TextWrapping="Wrap" Text="  : :" VerticalAlignment="Top" Width="369"/> <TextBox x:Name="TextBox_MinLength" InputScope="Number" HorizontalAlignment="Left" Height="72" Margin="10,834,0,-17" TextWrapping="Wrap" Text="3" VerticalAlignment="Top" Width="101"/> <TextBox x:Name="TextBox_MaxLength" InputScope="Number" HorizontalAlignment="Left" Height="67" TextWrapping="Wrap" Text="10" VerticalAlignment="Top" Width="100" Margin="114,834,0,-17"/> <Button Content="Ok" HorizontalAlignment="Left" Margin="286,836,0,-19" VerticalAlignment="Top" Width="93" Click="Event_Button_Click_MaxLength"/> <!--  /   --> <TextBlock HorizontalAlignment="Left" Margin="28,905,0,0" TextWrapping="Wrap" Text=" " VerticalAlignment="Top" Width="352"/> <ToggleButton x:Name="ToggleButton_Turn" Content="" HorizontalAlignment="Left" Margin="10,932,0,0" VerticalAlignment="Top" Width="371" Click="Event_Button_Click_Turn"/> </Grid> </ScrollViewer> </Grid> </phone:PanoramaItem> <!--  Panorama--> <phone:PanoramaItem > <Grid x:Name="LayoutRoot123" Background="Transparent" Margin="0,-32,-2,7" RenderTransformOrigin="0.500,0.500" > <ScrollViewer HorizontalScrollBarVisibility="Hidden" Margin="0,26,0,0" > <Grid Margin="0,0,0,0" Height="984" > <!--    --> <StackPanel Margin="0,0,0,649" > <!--   --> <Popup Name="Popup_ButtonDropDownSelectLanguage" Margin="0,0,10,0"> <StackPanel Margin="10,50,0,0" Background="DarkGray" Width="393" Name="StackPanel_ButtonDropDownSelectLanguage"> </StackPanel> </Popup> <TextBlock TextWrapping="Wrap" Text="  "/> <!-- ,   .       --> <Button Margin="0,10,10,0" x:Name="Button_SelectLanguage" Content="" Click="Event_Button_Click_SelectLanguage" Height="74" /> </StackPanel> <!--   . Codding4Fun --> <Controls:ColorPicker x:Name="ColorPicker" VerticalAlignment="Top" Height="360" Margin="10,154,10,0"/> <TextBlock HorizontalAlignment="Left" Margin="10,114,0,0" TextWrapping="Wrap" Text=" " VerticalAlignment="Top" Width="412" Height="35"/> <!--    --> <Button x:Name="Button_BackgroundColor" Content=" " HorizontalAlignment="Left" Margin="10,533,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.404,-0.757" Width="412" Click="Event_Button_Click_ChangeBackground"/> <!--     --> <Button x:Name="Button_FirstSymbolColor" Content="  " HorizontalAlignment="Left" Margin="10,605,0,0" VerticalAlignment="Top" Width="412" Click="Event_Button_Click_FirstSymbolColor"/> <!--     --> <TextBlock HorizontalAlignment="Left" Margin="10,682,0,0" TextWrapping="Wrap" Text="   " VerticalAlignment="Top" RenderTransformOrigin="-0.915,-1.222" Width="412"/> <Button x:Name="Button_GradientFrom" Content="" HorizontalAlignment="Left" Margin="10,714,0,0" VerticalAlignment="Top" Width="180" Click="Event_Button_Click_GradientFrom"/> <Button x:Name="Button_GradientTo" Content="" HorizontalAlignment="Left" Margin="245,714,0,0" VerticalAlignment="Top" Width="180" Click="Event_Button_Click_GradientTo"/> </Grid> </ScrollViewer> </Grid> </phone:PanoramaItem> </phone:Panorama> <!--,           .     -32 ,      .    0 (   ),    .       XAML   .--> <!--<Image Source="/Assets/AlignmentGrid.png" VerticalAlignment="Top" Height="800" Width="480" Margin="0" Grid.Row="0" Grid.RowSpan="2" IsHitTestVisible="False" />--> </Grid> </phone:PhoneApplicationPage> 


рдмрд╛рд╣реНрдп рд░реВрдк рд╕реЗ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИрдВ:





MainPage.xaml.cs


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рд╡рд░реНрдЧ рдЧреБрдг рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдВрдЧреЗ:
рдХреЛрдбред рд╡рд░реНрдЧ рдЧреБрдг
  /* ******************************   ****************************** */ //   Random random = new Random(); //         int iteration = 5; //       int countSimultaneously = 3; //    int speedFrom = 20; int speedTo = 40; //     int addingSize = -6; //    int fontSize; //      int minLength = 10; int maxLength = 15; //    double ScreenWidth = System.Windows.Application.Current.Host.Content.ActualWidth - 60; double ScreenHeight = System.Windows.Application.Current.Host.Content.ActualHeight - 100; // ,          int kolich = 30; //      kolich + addingFontSize. int addingFontSize = -2; //      int countSymbol = 3; //  (false),  (true)  bool flagOnOff = false; //  (false),  (true) " " bool turnOnOff = true; //     int countWidth = 10; int countHeight = 10; // ,         ASCII   Dictionary<string, int[]> languages = new Dictionary<string, int[]>(); //   - string actualLanguage = ""; // ,    (true) /   (false)   (PopUp)    bool flagShowLanguages = true; //   , ARGB Dictionary<string, int> colorMatrixBackground = new Dictionary<string, int>(); //   , ARGB Dictionary<string, int> colorFirstSymbol = new Dictionary<string, int>(); //     ( ) -  ( ), ARGB Dictionary<string, int> gradientFrom = new Dictionary<string, int>(); Dictionary<string, int> gradientTo = new Dictionary<string, int>(); 


рд╡рд░реНрдЧ рдирд┐рд░реНрдорд╛рддрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рдХреЛрдбред рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░
  //  public MainPage() { InitializeComponent(); //       ,   .. BeginColorSettings(); //    ,     ASCII   ListLanguages(); //     this.countWidth = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + Math.Abs(addingSize); this.countHeight = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); //   ,      CreateElement(); //     ,    if (this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Cyan); Button_Start.Background = new SolidColorBrush(Colors.Black); } else { Button_Stop.Background = new SolidColorBrush(Colors.Black); Button_Start.Background = new SolidColorBrush(Colors.Cyan); } //     ChangeBackground(); } 


рдЪрд▓реЛ рдПрдХ рд░рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, BeginColorSettings () рд╡рд┐рдзрд┐ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ;
рдХреЛрдбред BeginColorSettings

  //    ,   . private void BeginColorSettings() { //      colorMatrixBackground["A"] = 0; colorMatrixBackground["R"] = 0; colorMatrixBackground["G"] = 0; colorMatrixBackground["B"] = 0; //      colorFirstSymbol["A"] = 255; colorFirstSymbol["R"] = 248; colorFirstSymbol["G"] = 248; colorFirstSymbol["B"] = 255; //      (   ) gradientFrom["A"] = 255; gradientFrom["R"] = 1; gradientFrom["G"] = 255; gradientFrom["B"] = 1; //      (   ) gradientTo["A"] = 0; gradientTo["R"] = 0; gradientTo["G"] = 0; gradientTo["B"] = 0; } 


рдореИрдЯреНрд░рд┐рдХреНрд╕ рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧ

рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░реЗрдВред рдмрд╕ рдЗрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рд░рдВрдЧ рджреЗрдВ рдЬрд┐рд╕рдореЗрдВ ARGB рдШрдЯрдХреЛрдВ рд╕реЗ рдпреБрдХреНрдд рд░рдВрдЧ рд╣реЛред рдЪрд╛рд░ рдШрдЯрдХ рдХреНрдпреЛрдВ? рд▓реБрдкреНрдд рд╣реЛрддреА рдкреНрд░рднрд╛рд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ (рдП) рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдХреЛрдбред ChangeBackground

  //     .   . private void ChangeBackground() { //     LayoutRootSecond.Background = new SolidColorBrush(new Color() { A = (byte)(colorMatrixBackground["A"]) /*Opacity*/, R = (byte)(colorMatrixBackground["R"]) /*Red*/, G = (byte)(colorMatrixBackground["G"]) /*Green*/, B = (byte)(colorMatrixBackground["B"]) /*Blue*/ }); } 


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рд░рдВрдЧ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ ColorPicker рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рд▓реЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕рдВрдкрддреНрддрд┐ рдкрд░ рдЕрд╕рд╛рдЗрди рдХрд░реЗрдВ рдФрд░ ChangeBackground рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ:

рдХреЛрдбред Event_Button_Click_ChangeBackground

  //     private void Event_Button_Click_ChangeBackground(object sender, RoutedEventArgs e) { //     colorMatrixBackground     ColorPicker    colorMatrixBackground["A"] = ColorPicker.Color.A; colorMatrixBackground["R"] = ColorPicker.Color.R; colorMatrixBackground["G"] = ColorPicker.Color.G; colorMatrixBackground["B"] = ColorPicker.Color.B; //        Button_BackgroundColor.Background = new SolidColorBrush(new Color() { A = (byte)(colorMatrixBackground["A"]) /*Opacity*/, R = (byte)(colorMatrixBackground["R"]) /*Red*/, G = (byte)(colorMatrixBackground["G"]) /*Green*/, B = (byte)(colorMatrixBackground["B"]) /*Blue*/ }); //      ChangeBackground(); } 


рд╕рд╛рдБрдк рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рд┐рддреНрд░ рдХрд╛ рд░рдВрдЧ

рд╕рд╛рдВрдк рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рд┐рддреНрд░ рдХрд╛ рд░рдВрдЧ рдмрджрд▓реЗрдВред рд╕рд╛рдВрдк рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рд┐рддреНрд░ рдХреЛ рд░реИрдВрдбрдо рдИрд▓рдореЗрдВрдЯрдХреНрдпреВ_рдПрд╕реНрдХреНрдпреВрдВрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ:
  //    ,    . . // colorFirstSymbol["A"].    . await Change(element, timeOut, colorFirstSymbol); 

рдХреЛрдбред Event_Button_Click_FirstSymbolColor

  //     private void Event_Button_Click_FirstSymbolColor(object sender, RoutedEventArgs e) { //     colorFirstSymbol     ColorPicker    colorFirstSymbol["A"] = ColorPicker.Color.A; colorFirstSymbol["R"] = ColorPicker.Color.R; colorFirstSymbol["G"] = ColorPicker.Color.G; colorFirstSymbol["B"] = ColorPicker.Color.B; //        Button_FirstSymbolColor.Background = new SolidColorBrush(new Color() { A = (byte)(colorFirstSymbol["A"]) /*Opacity*/, R = (byte)(colorFirstSymbol["R"]) /*Red*/, G = (byte)(colorFirstSymbol["G"]) /*Green*/, B = (byte)(colorFirstSymbol["B"]) /*Blue*/ }); } 


рдврд╛рд▓ рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдирд╛

рдЦреИрд░, рд╣рдо рдврд╛рд▓ рдХреЗ рд▓рд┐рдП рдорд┐рд▓рд╛ рд╣реИред рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рдмрдЯрди рдХреЗ рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рдореЗрдВ рд╡рд░реНрдЧ рдЧреБрдгреЛрдВ рдореЗрдВ рд░рдВрдЧ рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рд╣реИ:
рдХреЛрдбред Event_Button_Click_Gradient
  // .   .   . private void Event_Button_Click_GradientFrom(object sender, RoutedEventArgs e) { //     gradientFrom     ColorPicker    gradientFrom["A"] = ColorPicker.Color.A; gradientFrom["R"] = ColorPicker.Color.R; gradientFrom["G"] = ColorPicker.Color.G; gradientFrom["B"] = ColorPicker.Color.B; //         Button_GradientFrom.Background = new SolidColorBrush(new Color() { A = (byte)(gradientFrom["A"]) /*Opacity*/, R = (byte)(gradientFrom["R"]) /*Red*/, G = (byte)(gradientFrom["G"]) /*Green*/, B = (byte)(gradientFrom["B"]) /*Blue*/ }); } / .   .   . private void Event_Button_Click_GradientTo (object sender, RoutedEventArgs e) { //     gradientTo     ColorPicker    gradientTo["A"] = ColorPicker.Color.A; gradientTo["R"] = ColorPicker.Color.R; gradientTo["G"] = ColorPicker.Color.G; gradientTo["B"] = ColorPicker.Color.B; //         Button_GradientTo.Background = new SolidColorBrush(new Color() { A = (byte)(gradientTo["A"]) /*Opacity*/, R = (byte)(gradientTo["R"]) /*Red*/, G = (byte)(gradientTo["G"]) /*Green*/, B = (byte)(gradientTo["B"]) /*Blue*/ }); } 


рдЕрдм рдЗрди рд░рдВрдЧреЛрдВ рдХреЛ рд╣рдорд╛рд░реЗ рдкреНрд░рддреАрдХреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред RandomElementQ_Async рд╡рд┐рдзрд┐ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╡рд░реНрдгреЛрдВ рдХреА рдЪрдордХ рдФрд░ рд░рдВрдЧ рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рднрд╛рдЧ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓ рджреЗрдВ:
рдХреЛрдбред RandomElementQ_Async рдФрд░ рдмрджрд▓реЗрдВ
рдкрд░рд┐рд╡рд░реНрддрди
 //int greenCoefficient = (int)Math.Round(255 / (double)(count + 1)) - 1; 

рдкрд░
  int A_Coefficient = (int)Math.Round((gradientFrom["A"] - 10) / (double)(count + 1)) - 1; int R_Coefficient = (int)Math.Round((gradientFrom["R"] - gradientTo["R"]) / (double)(count + 1)) - 1; int G_Coefficient = (int)Math.Round((gradientFrom["G"] - gradientTo["G"]) / (double)(count + 1)) - 1; int B_Coefficient = (int)Math.Round((gradientFrom["B"] - gradientTo["B"]) / (double)(count + 1)) - 1; 

рдФрд░ рдЯрд╛рд╕реНрдХ dsvv рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреА = рдмрджрд▓реЗрдВ (рдкрд┐рдЫрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг, рд╕рдордп, рдкреНрд░рддреАрдХ рдЪрд┐рд╣реНрди); рдЬреЛрдбрд╝рдиреЗ:
  //    // (greenCoefficient * (k + 1)) - 20   ,             //       ( ) SymbolColor["A"] = (gradientFrom["A"] - ((i - k) * A_Coefficient)); SymbolColor["R"] = (gradientFrom["R"] - ((i - k) * R_Coefficient)); SymbolColor["G"] = (gradientFrom["G"] - ((i - k) * G_Coefficient)); SymbolColor["B"] = (gradientFrom["B"] - ((i - k) * B_Coefficient)); 

Change, int Opacity Dictionary<string, int> SymbolColor:
  //       public async Task Change(TextBlock element, int timeOut, Dictionary<string, int> SymbolColor) 

.
  //       SolidColorBrush NewColor = new SolidColorBrush(new Color() { A = (byte)(255) /*Opacity*/, R = (byte)(0) /*Red*/, G = (byte)(Opacity) /*Green*/, B = (byte)(0) /*Blue*/ }); 

рдкрд░
  //       SolidColorBrush NewColor = new SolidColorBrush(new Color() { A = (byte)(SymbolColor["A"]) /*Opacity*/, R = (byte)(SymbolColor["R"]) /*Red*/, G = (byte)(SymbolColor["G"]) /*Green*/, B = (byte)(SymbolColor["B"]) /*Blue*/ }); 


рднрд╛рд╖рд╛ рдХрд╛ рдЪрдпрди

рдлреВрд▓реЛрдВ рдХреА рдЫрдБрдЯрдиреА рдХреЗ рд╕рд╛рдеред рдЕрдм рднрд╛рд╖рд╛ рдХреА рдкрд╕рдВрдж рд╕реЗ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рдХреНрд▓рд╛рд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рд╣рдордиреЗ рдЙрдкрд▓рдмреНрдз рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ListLanguages тАЛтАЛрдореЗрдердб рдХреЛ рдмреБрд▓рд╛рдпрд╛ред рдЖрдЗрдП рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рдХреЛрдбред ListLanguages
  //        ASCII   public void ListLanguages() { //     -     - ,   ASCII  . languages.Add("", new int[] { 64, 127 }); languages.Add("", new int[] { 19968, 20223 }); languages.Add("", new int[] { 64, 127 }); languages.Add("", new int[] { 48, 57 }); languages.Add(" ", new int[] { 0, 1000 }); languages.Add("", new int[] { 1040, 1103 }); //          foreach (var language in languages) { //   Button newLang = new Button(); //   ,   newLang.Content = language.Key.ToString(); //   newLang.HorizontalAlignment = HorizontalAlignment.Stretch; //   newLang.BorderThickness = new Thickness(1); //  newLang.Margin = new Thickness(0,0,0,0); // ,    .   . newLang.Click += Event_Button_Click_SelectLanguageUpdate; //         StackPanel_ButtonDropDownSelectLanguage.Children.Add(newLang); } } 


рдЕрдм рд╣рдо рдПрдХ рдмрдЯрди рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЪрдпрдирд┐рдд рднрд╛рд╖рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рдЬрдм рдХреНрд▓рд┐рдХ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдПрдХ рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
рдХреЛрдбред Event_Button_Click_SelectLanguage
  // ,       .          . private void Event_Button_Click_SelectLanguage(object sender, RoutedEventArgs e) { //  (true) /   (false)   (PopUp)    if (flagShowLanguages) { //    Popup_ButtonDropDownSelectLanguage.IsOpen = true; flagShowLanguages = false; } else { //    Popup_ButtonDropDownSelectLanguage.IsOpen = false; flagShowLanguages = true; } } 


рдкреЙрдк-рдЕрдк рд╡рд┐рдВрдбреЛ рдореЗрдВ рдмрдЯрди рд╣реЛрддреЗ рд╣реИрдВ, рдЬрдм рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╛рдВрдЫрд┐рдд рднрд╛рд╖рд╛ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдмрдЯрди рдХреЛ рдПрдХ рд╣реА рдШрдЯрдирд╛ рд╣реИрдВрдбрд▓рд░ рд╕реМрдВрдкрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдмрдЯрди рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рднрд╛рд╖рд╛ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╣рдо рдЪрдпрдирд┐рдд рднрд╛рд╖рд╛ рдХрд╛ рдорд╛рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрд╛рд╖рд╛ рд╡рд░реНрдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ:
рдХреЛрдбред Event_Button_Click_SelectLanguageUpdate
  //    . private void Event_Button_Click_SelectLanguageUpdate(object sender, RoutedEventArgs e) { //     ,     ,      . if (!flagShowLanguages) { //    Popup_ButtonDropDownSelectLanguage.IsOpen = false; flagShowLanguages = true; } //   ,   string newLanguagr = (sender as Button).Content.ToString(); //   ,    Button_SelectLanguage.Content = newLanguagr; //   ,       this.actualLanguage = newLanguagr; } 


рдЕрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рджрд┐рдП рдЧрдП рд░реЗрдВрдЬ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░рд┐рддреНрд░ рдЪреБрди рд╕рдХреЗрдВред рдЖрдЗрдП рд░реИрдВрдбрдордЕрдХреНрдЯреБрдЕрд▓рд╕рдВрдмрд▓ рд╡рд┐рдзрд┐ рд▓рд┐рдЦреЗрдВ, рдЬреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЪрд░рд┐рддреНрд░ рд▓реМрдЯрд╛рдПрдЧрд╛:
рдХреЛрдбред RandomActualSymbol
  //    ,        . public string RandomActualSymbol() { //    ,  ASCII   ,   actualLanguage int[] sd = (languages[actualLanguage]); //              return char.ConvertFromUtf32(this.random.Next((int)sd.GetValue(0), (int)sd.GetValue(1))); } 


рдФрд░ рдЬрд╣рд╛рдБ рднреА рдЖрдкрдХреЛ рд╡рд░реНрдг рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рдЗрд╕ рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЙрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд░рд┐рд╡рд░реНрддрди рд╡рд┐рдзрд┐ рдореЗрдВ:
  //        element.Text = RandomActualSymbol(); 

рд╢реБрд░реВ / рдмрдВрдж рдХрд░реЛ

рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИредрдлреНрд▓реИрдЧ рдлреНрд▓реИрдЧрдСрдирдСрдл рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЬреЛ рд╡рд░реНрдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣рдо рдЙрди рдЪрдХреНрд░реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реНрд╡рдпрдВ рд╣реЛрддрд╛ рд╣реИред
рд╣рдо "рдкреНрд░рд╛рд░рдВрдн" рдФрд░ "рд╕реНрдЯреЙрдк" рдмрдЯрди рдХреЗ рд▓рд┐рдП рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдзреНрд╡рдЬ рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╡рд┐рдкрд░реАрдд рдореЗрдВ рдмрджрд▓ рджреЗрддреЗ рд╣реИрдВ:
рдХреЛрдбред Event_Button_Click_Stop рдФрд░ Event_Button_Click_Start
  // .     private void Event_Button_Click_Stop(object sender, RoutedEventArgs e) { this.flagOnOff = true; //  flagOnOff  true    Stop if (this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Cyan); Button_Start.Background = new SolidColorBrush(Colors.Black); } } // .     private void Event_Button_Click_Start(object sender, RoutedEventArgs e) { this.flagOnOff = false; //  flagOnOff  false    Start if (!this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Black); Button_Start.Background = new SolidColorBrush(Colors.Cyan); } } 


рдФрд░ рдХрдИ рдЫреЛрд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐ рдЬреЛрдбрд╝реЗрдВ
  if (flagOnOff) break; 

рдкреВрд░реА рддрд░рд╣ рд╕реЗ, Event_Grid_Tap_LayoutRoot, RandomElementQ_Async рдХреЗ рдЪрдХреНрд░ рдореЗрдВ, рддрд░реАрдХреЗ рдмрджрд▓реЗрдВ:
рдХреЛрдбред рдореИрдЯреНрд░рд┐рдХреНрд╕ рд╕реНрдЯреЙрдк
Event_Grid_Tap_LayoutRoot:
  //       for (int i = 0; i < countSimultaneously; i++) { //   if (flagOnOff) break; 

RandomElementQ_Async :
 //      length for (int i = 0; i <= length; i++) { //   if (flagOnOff) break; 

:
  //   ,     .     ,     . for (int k = 0; k <= i; k++) { //   if (flagOnOff) break; 

Change:
  //       for (int i = 0; i < countSymbol; i++) { //   if (flagOnOff) break; 


рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд╛рд░ рдЬрдЧрд╣реЛрдВ рдкрд░ рдХреНрдпреЛрдВ? рдЕрдЧрд░ рдХреБрдЫ рд╕рд╛рдВрдк рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╕рд╛рдВрдкреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрдбрд╝реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 50+, рддреЛ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рдмреНрд░реЗрдХ рдХреЗ рд╕рд╛рде рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рддрдВрддреНрд░ рдХреЗ рдХрд╛рдо рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рд╡рд╛рд▓реЗ рд╣рд░ рддрддреНрд╡ рдХреЛ рддреБрд░рдВрдд рд░реЛрдХ рджреЗрддреЗ рд╣реИрдВред
рдФрд░ рдЕрдВрдд рдореЗрдВ, рдЕрдм рдмрдЯрди рджрдмрд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрдЯрди рдХрд╛ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░рддрд╛ рдЬреЛрдбрд╝реЗрдВред рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ, рдпрд╣ рдХреЛрдб рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:
  //     ,    if (this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Cyan); Button_Start.Background = new SolidColorBrush(Colors.Black); } else { Button_Stop.Background = new SolidColorBrush(Colors.Black); Button_Start.Background = new SolidColorBrush(Colors.Cyan); } 

рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддреЗ рд╕рдордп рдмрдЯрди рдХрд╛ рд░рдВрдЧред

рд╕реНрдХреНрд░реАрди рдХреА рд╕рдлрд╛рдИ

рдЬрдм Event_Button_Click_Clear рдИрд╡реЗрдВрдЯ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ CreateElement рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдмрд╛рдд рд╣реЛрддреА рд╣реИ, рдХреЗрд╡рд▓ рддрддреНрд╡реЛрдВ рдХреЛ рдмрдирд╛рдП рдмрд┐рдирд╛ред рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╢реВрдиреНрдпрддрд╛ рдХреЛ рдПрдХ рдкреНрд░рддреАрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдХреЛрдбред Event_Button_Click_Clear
  // .   private void Event_Button_Click_Clear(object sender, RoutedEventArgs e) { //           -  for ( int i = 0; i < countWidth; i++) { for (int j = 0; j < countHeight; j++) { //   ,    string elementName = "TB_" + i + "_" + j; //      object wantedNode = LayoutRoot.FindName(elementName); TextBlock element = (TextBlock)wantedNode; //   element.Text = ""; } } } 


рдХреНрд╖реИрддрд┐рдЬ / рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕

рдлрд┐рд░, рд╕рдм рдХреБрдЫ turnOnOff рдзреНрд╡рдЬ рд╕реЗ рдЖрддрд╛ рд╣реИред рд╣рдо рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ?рд╣рдо рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВред рдмрдЯрди рдкрд░ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдмрджрд▓реЗрдВред рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реНрд╡реИрдк рдХрд░реЗрдВред рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред CreateElement рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдПрдВ:
рдХреЛрдбред Event_Button_Click_Turn
  // .  /   private void Event_Button_Click_Turn(object sender, RoutedEventArgs e) { //  (true),  (false) " " if (turnOnOff) { //   false    turnOnOff this.turnOnOff = false; //      ToggleButton_Turn    ToggleButton_Turn.Content = ""; //    .   . this.countHeight = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + 5 + Math.Abs(addingSize); this.countWidth = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); } else { //   true    turnOnOff this.turnOnOff = true; //      ToggleButton_Turn    ToggleButton_Turn.Content = ""; //    .    this.countWidth = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + Math.Abs(addingSize); this.countHeight = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); } //   this.flagOnOff = true; //   ( ) LayoutRootSecond.Children.Clear(); //       CreateElement(); //   this.flagOnOff = false; } 


рдореИрдЯреНрд░рд┐рдХреНрд╕ рдХрд╛ рдЖрдХрд╛рд░ рдмрджрд▓реЗрдВ

рддрд░реНрдХ рдореЛрдбрд╝ рдХреЗ рд╕рдорд╛рди рд╣реИред рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реНрд╡реИрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдЧреБрдгрд╛рдВрдХ рдХреЛ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдФрд░ рд╕реНрддрдВрднреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рдЧрдгрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
рдХреЛрдбред Event_Button_Click_ElementSize
  // .     private void Event_Button_Click_ElementSize(object sender, RoutedEventArgs e) { //     TextBox TextBox_ElementSize    addingSize this.addingSize = int.Parse(TextBox_ElementSize.Text.ToString()); //    .    this.countWidth = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + Math.Abs(addingSize); this.countHeight = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); //   this.flagOnOff = true; //   ( ) LayoutRootSecond.Children.Clear(); //       CreateElement(); //   this.flagOnOff = false; } 


рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕

рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ред рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рд▓рд┐рдЦреЗрдВ, рдЬрд┐рд╕реЗ рд╣рдо рдкрд┐рдЫрд▓реЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд┐рд░ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рд╕рд╣реА рдЬрдЧрд╣ рдкрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд╛рде рд░реЗрдВрдЧрдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рдВрдкреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛:
рдХреЛрдбред Event_Grid_Tap_LayoutRoot

  //      Grid ( ) private void Event_Grid_Tap_LayoutRoot(object sender, System.Windows.Input.GestureEventArgs e) { //       for (int i = 0; i < 5; i++) { //   if (flagOnOff) break; Start(); //  .   . Task.Delay(100); } } 

:
  //      Grid ( ) private void Event_Grid_Tap_LayoutRoot(object sender, System.Windows.Input.GestureEventArgs e) { //       for (int i = 0; i < countSimultaneously; i++) { //   if (flagOnOff) break; Start(); //  .   . Task.Delay(100); } } 


рдХреЛрдбред MainPage.xaml.cs
 using System; using System.Net; using System.Collections.Generic; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Navigation; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using System.Windows.Media; using System.Threading.Tasks; using System.Diagnostics; using System.Collections.ObjectModel; namespace SE_Matrix_2d_v_4 { public partial class MainPage : PhoneApplicationPage { /* ******************************   ****************************** */ //   Random random = new Random(); //         int iteration = 5; //       int countSimultaneously = 3; //    int speedFrom = 20; int speedTo = 40; //     int addingSize = -6; //    int fontSize; //      int minLength = 10; int maxLength = 15; //    double ScreenWidth = System.Windows.Application.Current.Host.Content.ActualWidth - 60; double ScreenHeight = System.Windows.Application.Current.Host.Content.ActualHeight - 100; // ,          int kolich = 30; //      kolich + addingFontSize. int addingFontSize = -2; //      int countSymbol = 3; //  (false),  (true)  bool flagOnOff = false; //  (false),  (true) " " bool turnOnOff = true; //     int countWidth = 10; int countHeight = 10; // ,         ASCII   Dictionary<string, int[]> languages = new Dictionary<string, int[]>(); //   - string actualLanguage = ""; // ,    (true) /   (false)   (PopUp)    bool flagShowLanguages = true; //   , ARGB Dictionary<string, int> colorMatrixBackground = new Dictionary<string, int>(); //   , ARGB Dictionary<string, int> colorFirstSymbol = new Dictionary<string, int>(); //     ( ) -  ( ), ARGB Dictionary<string, int> gradientFrom = new Dictionary<string, int>(); Dictionary<string, int> gradientTo = new Dictionary<string, int>(); /* ******************************   ****************************** */ //  public MainPage() { InitializeComponent(); //       ,   .. BeginColorSettings(); //    ,     ASCII   ListLanguages(); //     this.countWidth = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + Math.Abs(addingSize); this.countHeight = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); //   ,      CreateElement(); //     ,    if (this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Cyan); Button_Start.Background = new SolidColorBrush(Colors.Black); } else { Button_Stop.Background = new SolidColorBrush(Colors.Black); Button_Start.Background = new SolidColorBrush(Colors.Cyan); } //     ChangeBackground(); } //   ,      public void CreateElement() { //       /  this.fontSize = kolich + addingFontSize + addingSize; //    for (int i = 0; i < countWidth; i++) { for (int j = 0; j < countHeight; j++) { //  TextBlock TextBlock element = new TextBlock(); //    TextBlock element.Name = "TB_" + i + "_" + j; //        // element.Text = char.ConvertFromUtf32(random.Next(0x4E00, 0x4FFF)); //      // element.Text = random.Next(0, 9).ToString(); //   element.Text = ""; //  //      TextBlock //      /  int turnY = j * (kolich + addingSize); int turnX = i * (kolich + addingSize); //  (false),  (true) " " if (turnOnOff) { // ,   element.Margin = new Thickness(turnX, turnY, 0, 0); } else { // ,   element.Margin = new Thickness(turnY, turnX, 0, 0); } //    element.Foreground = new SolidColorBrush(Colors.Green); //    element.FontSize = fontSize; //     Grid LayoutRootSecond.Children.Add(element); } } } //      Grid ( ) private void Event_Grid_Tap_LayoutRoot(object sender, System.Windows.Input.GestureEventArgs e) { //       for (int i = 0; i < countSimultaneously; i++) { //   if (flagOnOff) break; Start(); //  .   . Task.Delay(100); } } //    public async void Start() { int count; //         for (count = 0; count < iteration; count++) { //       int ranX = random.Next(0, countWidth); //       int ranY = random.Next(-5, countHeight - 1); //     int length = random.Next(minLength, maxLength); //        int time = random.Next(speedFrom, speedTo); await Task.Delay(1); //  await RandomElementQ_Async(ranX, ranY, length, time); } } //  ,      public async Task RandomElementQ_Async(int x, int y, int length, int timeOut) { //     ,     . Dictionary<int, TextBlock> dicElem = new Dictionary<int, TextBlock>(); //    Dictionary<string, int> SymbolColor = new Dictionary<string, int>(); // ,    ,     if ((y + i) < countHeight && (y + i) >= 0).   4  . //             ( ). int count = 0; //      length for (int i = 0; i <= length; i++) { //   if (flagOnOff) break; //,       ,      if ((y + i) < countHeight && (y + i) >= 0) { //   ,      string elementName = "TB_" + x + "_" + (y + i); //      object wantedNode = LayoutRoot.FindName(elementName); TextBlock element = (TextBlock)wantedNode; //    ,        ""  ""  dicElem[count] = (element); //     .  ( ) -   ,  -  . //  1, ,    (  - )     255   . int A_Coefficient = (int)Math.Round((gradientFrom["A"] - 10) / (double)(count + 1)) - 1; int R_Coefficient = (int)Math.Round((gradientFrom["R"] - gradientTo["R"]) / (double)(count + 1)) - 1; int G_Coefficient = (int)Math.Round((gradientFrom["G"] - gradientTo["G"]) / (double)(count + 1)) - 1; int B_Coefficient = (int)Math.Round((gradientFrom["B"] - gradientTo["B"]) / (double)(count + 1)) - 1; //int greenCoefficient = (int)Math.Round(255 / (double)(count + 1)) - 1; //    ,    . . // colorFirstSymbol["A"].    . await Change(element, timeOut, colorFirstSymbol); //   ,     .     ,     . for (int k = 0; k <= i; k++) { //   if (flagOnOff) break; //    ""   (,  y = -5) if (dicElem.ContainsKey(k)) { // ,      .   ""  TextBlock previousElement = dicElem[k]; //    // (greenCoefficient * (k + 1)) - 20   ,             //       ( ) SymbolColor["A"] = (gradientFrom["A"] - ((i - k) * A_Coefficient)); SymbolColor["R"] = (gradientFrom["R"] - ((i - k) * R_Coefficient)); SymbolColor["G"] = (gradientFrom["G"] - ((i - k) * G_Coefficient)); SymbolColor["B"] = (gradientFrom["B"] - ((i - k) * B_Coefficient)); Task dsvv = Change(previousElement, timeOut, SymbolColor); } } count++; } } } //       public async Task Change(TextBlock element, int timeOut, Dictionary<string, int> SymbolColor) { //       SolidColorBrush NewColor = new SolidColorBrush(new Color() { A = (byte)(SymbolColor["A"]) /*Opacity*/, R = (byte)(SymbolColor["R"]) /*Red*/, G = (byte)(SymbolColor["G"]) /*Green*/, B = (byte)(SymbolColor["B"]) /*Blue*/ }); //   ""  1   "" element.Foreground = NewColor; //       for (int i = 0; i < countSymbol; i++) { //   if (flagOnOff) break; //        element.Text = RandomActualSymbol(); //   element.FontSize = fontSize; //      await Task.Delay(timeOut); } } //     ViewModel protected override void OnNavigatedTo(NavigationEventArgs e) { if (!App.ViewModel.IsDataLoaded) { App.ViewModel.LoadData(); } } /* ******************************  ****************************** */ // .   . private void Event_Button_Click_SpeedApplay(object sender, RoutedEventArgs e) { //     TextBox TextBox_SppeedFrom    speedFrom this.speedFrom = int.Parse(TextBox_SppeedFrom.Text.ToString()); //     TextBox TextBox_SppeedTo    speedTo this.speedTo = int.Parse(TextBox_SppeedTo.Text.ToString()); } // .     private void Event_Button_Click_CountQueue(object sender, RoutedEventArgs e) { //     TextBox TextBox_CountQueue    iteration this.iteration = int.Parse(TextBox_CountQueue.Text.ToString()); } // .     private void Event_Button_Click_ountSimultaneously(object sender, RoutedEventArgs e) { //     TextBox TextBox_ountSimultaneously    countSimultaneously this.countSimultaneously = int.Parse(TextBox_ountSimultaneously.Text.ToString()); } // .   private void Event_Button_Click_FontSize(object sender, RoutedEventArgs e) { //     TextBox TextBox_FontSize    addingFontSize this.addingFontSize = int.Parse(TextBox_FontSize.Text.ToString()); //       /  this.fontSize = kolich + addingFontSize + addingSize; } // .      private void Event_Button_Click_CountSymbol(object sender, RoutedEventArgs e) { //     TextBox TextBox_CountSymbol    countSymbol this.countSymbol = int.Parse(TextBox_CountSymbol.Text.ToString()); } // .     private void Event_Button_Click_Stop(object sender, RoutedEventArgs e) { this.flagOnOff = true; //  flagOnOff  true    Stop if (this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Cyan); Button_Start.Background = new SolidColorBrush(Colors.Black); } } // .     private void Event_Button_Click_Start(object sender, RoutedEventArgs e) { this.flagOnOff = false; //  flagOnOff  false    Start if (!this.flagOnOff) { Button_Stop.Background = new SolidColorBrush(Colors.Black); Button_Start.Background = new SolidColorBrush(Colors.Cyan); } } // .   private void Event_Button_Click_Clear(object sender, RoutedEventArgs e) { //           -  for ( int i = 0; i < countWidth; i++) { for (int j = 0; j < countHeight; j++) { //   ,    string elementName = "TB_" + i + "_" + j; //      object wantedNode = LayoutRoot.FindName(elementName); TextBlock element = (TextBlock)wantedNode; //   element.Text = ""; } } } // .     private void Event_Button_Click_ElementSize(object sender, RoutedEventArgs e) { //     TextBox TextBox_ElementSize    addingSize this.addingSize = int.Parse(TextBox_ElementSize.Text.ToString()); //    .    this.countWidth = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + Math.Abs(addingSize); this.countHeight = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); //   this.flagOnOff = true; //   ( ) LayoutRootSecond.Children.Clear(); //       CreateElement(); //   this.flagOnOff = false; } // .       private void Event_Button_Click_MaxLength(object sender, RoutedEventArgs e) { //     TextBox TextBox_MinLength    minLength this.minLength = int.Parse(TextBox_MinLength.Text.ToString()); //     TextBox TextBox_MaxLength    maxLength this.maxLength = int.Parse(TextBox_MaxLength.Text.ToString()); } // .  /   private void Event_Button_Click_Turn(object sender, RoutedEventArgs e) { //  (true),  (false) " " if (turnOnOff) { //   false    turnOnOff this.turnOnOff = false; //      ToggleButton_Turn    ToggleButton_Turn.Content = ""; //    .   . this.countHeight = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + 5 + Math.Abs(addingSize); this.countWidth = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); } else { //   true    turnOnOff this.turnOnOff = true; //      ToggleButton_Turn    ToggleButton_Turn.Content = ""; //    .    this.countWidth = (int)Math.Round(ScreenWidth / (kolich + addingSize)) + Math.Abs(addingSize); this.countHeight = (int)Math.Round(ScreenHeight / (kolich + addingSize)) + 5 + Math.Abs(addingSize); } //   this.flagOnOff = true; //   ( ) LayoutRootSecond.Children.Clear(); //       CreateElement(); //   this.flagOnOff = false; } //        ASCII   public void ListLanguages() { //     -     - ,   ASCII  . languages.Add("", new int[] { 64, 127 }); languages.Add("", new int[] { 19968, 20223 }); languages.Add("", new int[] { 64, 127 }); languages.Add("", new int[] { 48, 57 }); languages.Add(" ", new int[] { 0, 1000 }); languages.Add("", new int[] { 1040, 1103 }); //          foreach (var language in languages) { //   Button newLang = new Button(); //   ,   newLang.Content = language.Key.ToString(); //   newLang.HorizontalAlignment = HorizontalAlignment.Stretch; //   newLang.BorderThickness = new Thickness(1); //  newLang.Margin = new Thickness(0,0,0,0); // ,    .   . newLang.Click += Event_Button_Click_SelectLanguageUpdate; //         StackPanel_ButtonDropDownSelectLanguage.Children.Add(newLang); } } //    ,        . public string RandomActualSymbol() { //    ,  ASCII   ,   actualLanguage int[] sd = (languages[actualLanguage]); //              return char.ConvertFromUtf32(this.random.Next((int)sd.GetValue(0), (int)sd.GetValue(1))); } // ,       .          . private void Event_Button_Click_SelectLanguage(object sender, RoutedEventArgs e) { //  (true) /   (false)   (PopUp)    if (flagShowLanguages) { //    Popup_ButtonDropDownSelectLanguage.IsOpen = true; flagShowLanguages = false; } else { //    Popup_ButtonDropDownSelectLanguage.IsOpen = false; flagShowLanguages = true; } } //    . private void Event_Button_Click_SelectLanguageUpdate(object sender, RoutedEventArgs e) { //     ,     ,      . if (!flagShowLanguages) { //    Popup_ButtonDropDownSelectLanguage.IsOpen = false; flagShowLanguages = true; } //   ,   string newLanguagr = (sender as Button).Content.ToString(); //   ,    Button_SelectLanguage.Content = newLanguagr; //   ,       this.actualLanguage = newLanguagr; } //     private void Event_Button_Click_ChangeBackground(object sender, RoutedEventArgs e) { //     colorMatrixBackground     ColorPicker    colorMatrixBackground["A"] = ColorPicker.Color.A; colorMatrixBackground["R"] = ColorPicker.Color.R; colorMatrixBackground["G"] = ColorPicker.Color.G; colorMatrixBackground["B"] = ColorPicker.Color.B; //        Button_BackgroundColor.Background = new SolidColorBrush(new Color() { A = (byte)(colorMatrixBackground["A"]) /*Opacity*/, R = (byte)(colorMatrixBackground["R"]) /*Red*/, G = (byte)(colorMatrixBackground["G"]) /*Green*/, B = (byte)(colorMatrixBackground["B"]) /*Blue*/ }); //      ChangeBackground(); } //     .   . private void ChangeBackground() { //     LayoutRootSecond.Background = new SolidColorBrush(new Color() { A = (byte)(colorMatrixBackground["A"]) /*Opacity*/, R = (byte)(colorMatrixBackground["R"]) /*Red*/, G = (byte)(colorMatrixBackground["G"]) /*Green*/, B = (byte)(colorMatrixBackground["B"]) /*Blue*/ }); } //    ,   . private void BeginColorSettings() { //      colorMatrixBackground["A"] = 0; colorMatrixBackground["R"] = 0; colorMatrixBackground["G"] = 0; colorMatrixBackground["B"] = 0; //      colorFirstSymbol["A"] = 255; colorFirstSymbol["R"] = 248; colorFirstSymbol["G"] = 248; colorFirstSymbol["B"] = 255; //      (   ) gradientFrom["A"] = 255; gradientFrom["R"] = 1; gradientFrom["G"] = 255; gradientFrom["B"] = 1; //      (   ) gradientTo["A"] = 0; gradientTo["R"] = 0; gradientTo["G"] = 0; gradientTo["B"] = 0; } //     private void Event_Button_Click_FirstSymbolColor(object sender, RoutedEventArgs e) { //     colorFirstSymbol     ColorPicker    colorFirstSymbol["A"] = ColorPicker.Color.A; colorFirstSymbol["R"] = ColorPicker.Color.R; colorFirstSymbol["G"] = ColorPicker.Color.G; colorFirstSymbol["B"] = ColorPicker.Color.B; //        Button_FirstSymbolColor.Background = new SolidColorBrush(new Color() { A = (byte)(colorFirstSymbol["A"]) /*Opacity*/, R = (byte)(colorFirstSymbol["R"]) /*Red*/, G = (byte)(colorFirstSymbol["G"]) /*Green*/, B = (byte)(colorFirstSymbol["B"]) /*Blue*/ }); } // .   .   . private void Event_Button_Click_GradientFrom(object sender, RoutedEventArgs e) { //     gradientFrom     ColorPicker    gradientFrom["A"] = ColorPicker.Color.A; gradientFrom["R"] = ColorPicker.Color.R; gradientFrom["G"] = ColorPicker.Color.G; gradientFrom["B"] = ColorPicker.Color.B; //         Button_GradientFrom.Background = new SolidColorBrush(new Color() { A = (byte)(gradientFrom["A"]) /*Opacity*/, R = (byte)(gradientFrom["R"]) /*Red*/, G = (byte)(gradientFrom["G"]) /*Green*/, B = (byte)(gradientFrom["B"]) /*Blue*/ }); } // .   .   . private void Event_Button_Click_GradientTo (object sender, RoutedEventArgs e) { //     gradientTo     ColorPicker    gradientTo["A"] = ColorPicker.Color.A; gradientTo["R"] = ColorPicker.Color.R; gradientTo["G"] = ColorPicker.Color.G; gradientTo["B"] = ColorPicker.Color.B; //         Button_GradientTo.Background = new SolidColorBrush(new Color() { A = (byte)(gradientTo["A"]) /*Opacity*/, R = (byte)(gradientTo["R"]) /*Red*/, G = (byte)(gradientTo["G"]) /*Green*/, B = (byte)(gradientTo["B"]) /*Blue*/ }); } } } 






рдирд┐рд╖реНрдХрд░реНрд╖


рджреВрд╕рд░рд╛ рд╣рд┐рд╕реНрд╕рд╛ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдб рдереЛрдбрд╝рд╛ рдЕрдирд╛рдбрд╝реА рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рддрд░реНрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдХреЛрдб рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВрдЧреЗ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдкрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реЗрд╡ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕реЗ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рд▓реЛрдХрд▓ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдбреЗрдЯрд╛ рд╕реЗ рдмрд╛рдЗрдВрдб рдХрд░реЗрдВрдЧреЗред

рдкреБрдирд╢реНрдЪрдпрджрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рд╕реНрддрд░ рдкрд░ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ - рдореИрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреВрдЫрддрд╛ рд╣реВрдВред рдФрд░ рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЪрд░рдгреЛрдВ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХрдо рд╕реЗ рдХрдо 2 рдФрд░ рднрд╛рдЧ рд╣реЛрдВрдЧреЗ ... рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдпрджрд┐ рдЖрдк рдореБрдЭреЗ рдмрддрд╛рдПрдВрдЧреЗ рдХрд┐ рдЕрдВрддрд┐рдо рд╡реАрдбрд┐рдпреЛ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдХреНрдпреЛрдВрдХрд┐ рдкреИрдиреЛрд░рдорд╛ рдХреЗрд╡рд▓ рддрднреА рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рдЖрдк рд╕реНрдХреНрд░реЙрд▓рд░ рдХреЗ рдмрд╛рд╣рд░ "рд╕реНрдиреИрдк" рдХрд░рддреЗ рд╣реИрдВред

Source: https://habr.com/ru/post/In195760/


All Articles