using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.Models { public class ModelBase : INotifyPropertyChanged, INotifyPropertyChanging { #region INotifyPropertyChanged public event PropertyChangedEventHandler PropertyChanged; // Used to notify that a property changed protected void NotifyPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } #endregion #region INotifyPropertyChanging public event PropertyChangingEventHandler PropertyChanging; // Used to notify that a property is about to change protected void NotifyPropertyChanging(string propertyName) { if (PropertyChanging != null) { PropertyChanging(this, new PropertyChangingEventArgs(propertyName)); } } #endregion } }
using System; using System.Collections.Generic; using System.Data.Linq.Mapping; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace SE_Matrix_2d_v_14.Models { [Table] public class Model_Matrixes : ModelBase { // Define ID: private field, public property, and database column. private int _id; /// <summary> /// Model_Matrixes ID /// </summary> [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int ID { get { return _id; } set { if (_id != value) { NotifyPropertyChanging("ID"); _id = value; NotifyPropertyChanged("ID"); } } } private string _matrix_Name; /// <summary> /// Model_Matrixes Matrix_Name /// </summary> [Column] public string Matrix_Name { get { return _matrix_Name; } set { if (_matrix_Name != value) { NotifyPropertyChanging("Matrix_Name"); _matrix_Name = value; NotifyPropertyChanged("Matrix_Name"); } } } private string _matrix_Text; /// <summary> /// Model_Matrixes Matrix_Text /// </summary> [Column] public string Matrix_Text { get { return _matrix_Text; } set { if (_matrix_Text != value) { NotifyPropertyChanging("Matrix_Text"); _matrix_Text = value; NotifyPropertyChanged("Matrix_Text"); } } } private int _matrix_FontSize; /// <summary> /// Model_Matrixes Matrix_FontSize /// </summary> [Column] public int Matrix_FontSize { get { return _matrix_FontSize; } set { if (_matrix_FontSize != value) { NotifyPropertyChanging("Matrix_FontSize"); _matrix_FontSize = value; NotifyPropertyChanged("Matrix_FontSize"); } } } private SolidColorBrush _matrix_Foreground; /// <summary> /// Model_Matrixes Matrix_Foreground /// </summary> [Column] public SolidColorBrush Matrix_Foreground { get { return _matrix_Foreground; } set { if (_matrix_Foreground != value) { NotifyPropertyChanging("Matrix_Foreground"); _matrix_Foreground = value; NotifyPropertyChanged("Matrix_Foreground"); } } } } }
using System; using System.Collections.Generic; using System.Data.Linq.Mapping; using System.Linq; using System.Runtime.Serialization; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace SE_Matrix_2d_v_14.Models { [Table] [DataContract] public class Model_Colors : ModelBase { // Define ID: private field, public property, and database column. private int _id; /// <summary> /// Model_Colors ID /// </summary> [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int ID { get { return _id; } set { if (_id != value) { NotifyPropertyChanging("ID"); _id = value; NotifyPropertyChanged("ID"); } } } private string _name; /// <summary> /// Model_Colors Name /// </summary> [Column] public string Name { get { return _name; } set { if (_name != value) { NotifyPropertyChanging("Name"); _name = value; NotifyPropertyChanged("Name"); } } } private string _nameForTranslate; /// <summary> /// Model_Colors NameForTranslate /// </summary> [Column] public string NameForTranslate { get { return _nameForTranslate; } set { if (_nameForTranslate != value) { NotifyPropertyChanging("NameForTranslate"); _nameForTranslate = value; NotifyPropertyChanged("NameForTranslate"); } } } private string _value; /// <summary> /// Model_Colors Value /// </summary> [Column] public string Value { get { return _value; } set { if (_value != value) { NotifyPropertyChanging("Value"); _value = value; NotifyPropertyChanged("Value"); } } } } }
using System; using System.Collections.Generic; using System.Data.Linq; using System.Data.Linq.Mapping; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.Models { [Table()] public class Model_SettingsSymbols : ModelBase { // Define ID: private field, public property, and database column private int _id; /// <summary> /// Model_SettingsSymbols ID /// </summary> [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int ID { get { return _id; } set { if (_id != value) { NotifyPropertyChanging("ID"); _id = value; NotifyPropertyChanged("ID"); } } } private string _param_Name; /// <summary> /// Model_SettingsSymbols Param_Name /// </summary> [Column] public string Param_Name { get { return _param_Name; } set { if (_param_Name != value) { NotifyPropertyChanging("Param_Name"); _param_Name = value; NotifyPropertyChanged("Param_Name"); } } } private int _param_Value; /// <summary> /// Model_SettingsSymbols Param_Value /// </summary> [Column] public int Param_Value { get { return _param_Value; } set { if (_param_Value != value) { NotifyPropertyChanging("Param_Value"); _param_Value = value; NotifyPropertyChanged("Param_Value"); } } } private string _nameForTranslate; /// <summary> /// Model_SettingsSymbols NameForTranslate /// </summary> [Column] public string NameForTranslate { get { return _nameForTranslate; } set { if (_nameForTranslate != value) { NotifyPropertyChanging("NameForTranslate"); _nameForTranslate = value; NotifyPropertyChanged("NameForTranslate"); } } } // Version column aids update performance. [Column(IsVersion = true)] private Binary _version; } }
using System; using System.Collections.Generic; using System.Data.Linq.Mapping; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.Models { [Table] public class Module_Languages : ModelBase { // Define ID: private field, public property, and database column. private int _id; /// <summary> /// Model_SettingsSymbols ID /// </summary> [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity", CanBeNull = false, AutoSync = AutoSync.OnInsert)] public int ID { get { return _id; } set { if (_id != value) { NotifyPropertyChanging("ID"); _id = value; NotifyPropertyChanged("ID"); } } } // private string _name; /// <summary> /// Model_SettingsSymbols ID /// </summary> [Column] public string Name { get { return _name; } set { if (_name != value) { NotifyPropertyChanging("Name"); _name = value; NotifyPropertyChanged("Name"); } } } // private string _nameForTranslate; /// <summary> /// Model_SettingsSymbols ID /// </summary> [Column] public string NameForTranslate { get { return _nameForTranslate; } set { if (_nameForTranslate != value) { NotifyPropertyChanging("NameForTranslate"); _nameForTranslate = value; NotifyPropertyChanged("NameForTranslate"); } } } // private int _valueFrom; /// <summary> /// Model_SettingsSymbols ValueFrom /// </summary> [Column] public int ValueFrom { get { return _valueFrom; } set { if (_valueFrom != value) { NotifyPropertyChanging("ValueFrom"); _valueFrom = value; NotifyPropertyChanged("ValueFrom"); } } } // private int _valueTo; /// <summary> /// Model_SettingsSymbols ValueTo /// </summary> [Column] public int ValueTo { get { return _valueTo; } set { if (_valueTo != value) { NotifyPropertyChanging("ValueTo"); _valueTo = value; NotifyPropertyChanged("ValueTo"); } } } private bool _selected; /// <summary> /// Model_SettingsSymbols Selected /// </summary> [Column] public bool Selected { get { return _selected; } set { if (_selected != value) { NotifyPropertyChanging("Selected"); _selected = value; NotifyPropertyChanged("Selected"); } } } } }
using SE_Matrix_2d_v_14.Models; using System; using System.Collections.Generic; using System.Data.Linq; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.DB { /// <summary> /// /// </summary> public class SeDataContext : DataContext { // Pass the connection string to the base class. public SeDataContext(string connectionString) : base(connectionString) { } // Specify a table public Table<Model_SettingsSymbols> DB_SettingsSymbol; // Specify a table public Table<Module_Languages> DB_Language; // Specify a table public Table<Model_Colors> DB_Color; } }
using SE_Matrix_2d_v_14.Models; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.DB { public class CheckDbExist { /// <summary> /// , , - /// </summary> /// <param name="DBConnectionString"> </param> public CheckDbExist(string DBConnectionString) { // Create the database if it does not exist. using (SeDataContext db = new SeDataContext(DBConnectionString)) { if (db.DatabaseExists() == false) { db.CreateDatabase(); new FillSettingsSymbol(db); new FillColors(db); new FillLanguages(db); db.SubmitChanges(); } } } } }
using System; using System.Collections.Generic; using System.Linq; using System.Diagnostics; using System.Resources; using System.Windows; using System.Windows.Markup; using System.Windows.Navigation; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using SE_Matrix_2d_v_14.Resources; using SE_Matrix_2d_v_14.ViewModels; using SE_Matrix_2d_v_14.Models; using SE_Matrix_2d_v_14.DB; using System.Windows.Media; using System.Runtime.Serialization; using System.IO; using System.Text; namespace SE_Matrix_2d_v_14 { public partial class App : Application { private static MainViewModel viewModel = null; // string DBConnectionString = "Data Source=isostore:/Matrix333.sdf"; /// <summary> /// ViewModel, . /// </summary> /// <returns> MainViewModel.</returns> public static MainViewModel ViewModel { get { return viewModel; } } /// <summary> /// . /// </summary> /// <returns> .</returns> public static PhoneApplicationFrame RootFrame { get; private set; } /// <summary> /// . /// </summary> public App() { // . UnhandledException += Application_UnhandledException; // XAML InitializeComponent(); // InitializePhoneApplication(); // InitializeLanguage(); // . if (Debugger.IsAttached) { // . Application.Current.Host.Settings.EnableFrameRateCounter = true; // // . // ! . , , // , . PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; } // , new CheckDbExist(DBConnectionString); // viewModel = new MainViewModel(DBConnectionString); // Query the local database and load observable collections. viewModel.LoadData(); }
using SE_Matrix_2d_v_14.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.DB { public class FillColors { /// <summary> /// Model_Colors /// </summary> /// <param name="db"> , </param> public FillColors(SeDataContext db) { db.DB_Color.InsertOnSubmit(new Model_Colors { Name = "Param_Color_FirstSymbol", Value = "#FFF8F8FF", NameForTranslate = "a" }); db.DB_Color.InsertOnSubmit(new Model_Colors { Name = "Param_Color_Background", Value = "#FF000000", NameForTranslate = "a" }); db.DB_Color.InsertOnSubmit(new Model_Colors { Name = "Param_Color_GradientFrom", Value = "#FF00FF00", NameForTranslate = "a" }); db.DB_Color.InsertOnSubmit(new Model_Colors { Name = "Param_Color_GradientTo", Value = "#FF00AA99", NameForTranslate = "a" }); } } }
using SE_Matrix_2d_v_14.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.DB { public class FillLanguages { /// <summary> /// Model_Colors /// </summary> /// <param name="db"> , </param> public FillLanguages(SeDataContext db) { db.DB_Language.InsertOnSubmit(new Module_Languages { Name = "English", ValueFrom = 64, ValueTo = 127, NameForTranslate = "a", Selected = true }); db.DB_Language.InsertOnSubmit(new Module_Languages { Name = "Russion", ValueFrom = 1040, ValueTo = 1103, NameForTranslate = "a", Selected = false }); db.DB_Language.InsertOnSubmit(new Module_Languages { Name = "Chinese", ValueFrom = 19968, ValueTo = 20223, NameForTranslate = "a", Selected = false }); db.DB_Language.InsertOnSubmit(new Module_Languages { Name = "Numbers", ValueFrom = 48, ValueTo = 57, NameForTranslate = "a", Selected = false }); } } }
using SE_Matrix_2d_v_14.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.DB { public class FillSettingsSymbol { /// <summary> /// Model_Colors /// </summary> /// <param name="db"> , </param> public FillSettingsSymbol(SeDataContext db) { db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_Iteration", Param_Value = 6, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_CountSimultaneously", Param_Value = 3, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_SpeedTo", Param_Value = 50, NameForTranslate = "a" }); //db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_AddingSize", Param_Value = 2, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_FontSize", Param_Value = 15, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_MinLength", Param_Value = 5, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_MaxLength", Param_Value = 15, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_WindowWidth", Param_Value = 420, NameForTranslate = "a" }); db.DB_SettingsSymbol.InsertOnSubmit(new Model_SettingsSymbols { Param_Name = "Param_WindowHeight", Param_Value = 671, NameForTranslate = "a" }); } } }
<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:Controls="clr-namespace:Coding4Fun.Toolkit.Controls;assembly=Coding4Fun.Toolkit.Controls" 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:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit" x:Class="SE_Matrix_2d_v_14.MainPage" mc:Ignorable="d" SupportedOrientations="Portrait" Orientation="Portrait" shell:SystemTray.IsVisible="False"> <!-- Resources d:DataContext="{d:DesignData SampleData/MainViewModelSampleData.xaml}" --> <phone:PhoneApplicationPage.Resources> <!-- SettingsSymbols --> <DataTemplate x:Key="Resources_SettingsSymbols"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition Height="70"/> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="{Binding NameForTranslate}" /> <TextBox x:Name="TextBox_Param_Value" Tag="{Binding ID}" InputScope="Number" Grid.Row="1" Width="300" HorizontalAlignment="Left" Text="{Binding Param_Value, Mode=TwoWay}" TextChanged="Event_TextBox_TextChanged_SettingSymbols" LostFocus="Event_TextBox_LostFocus_SettingsSymbols" /> </Grid> </DataTemplate> <!-- SettingsColor --> <DataTemplate x:Key="SettingsColor"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="25"/> <RowDefinition Height="100"/> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="{Binding NameForTranslate}" /> <Rectangle Grid.Row="1" Fill="{Binding Value, Mode=TwoWay}" Tag="{Binding ID}" HorizontalAlignment="Left" Height="75" Margin="0,10,0,0" Stroke="Transparent" VerticalAlignment="Top" Width="420" Tap="Event_Rectangle_Tap_ChangeColor"/> </Grid> </DataTemplate> <!-- Matrix --> <DataTemplate x:Key="Matrix"> <TextBlock x:Uid="{Binding Matrix_Name}" Text="{Binding Matrix_Text, Mode=TwoWay}" FontSize="{Binding Matrix_FontSize}" Foreground="{Binding Matrix_Foreground}" /> </DataTemplate> <!-- ListPicker --> <DataTemplate x:Key="ListPickerItemTemplate"> <TextBlock Text="{Binding NameForTranslate}" /> </DataTemplate> <DataTemplate x:Key="ListPickerFullItemTemplate"> <TextBlock Text="{Binding NameForTranslate}" FontSize="{StaticResource PhoneFontSizeExtraLarge}" /> </DataTemplate> </phone:PhoneApplicationPage.Resources> <phone:PhoneApplicationPage.FontFamily> <StaticResource ResourceKey="PhoneFontFamilyNormal"/> </phone:PhoneApplicationPage.FontFamily> <phone:PhoneApplicationPage.FontSize> <StaticResource ResourceKey="PhoneFontSizeNormal"/> </phone:PhoneApplicationPage.FontSize> <phone:PhoneApplicationPage.Foreground> <StaticResource ResourceKey="PhoneForegroundBrush"/> </phone:PhoneApplicationPage.Foreground> <!-- LayoutRoot , --> <Grid x:Name="LayoutRoot" Background="Transparent"> <phone:Panorama> <phone:Panorama.Background> <ImageBrush ImageSource="/SE_Matrix_2d_v_14;component/Assets/PanoramaBackground.png"/> </phone:Panorama.Background> <!-- Panorama --> <phone:PanoramaItem Header="SE "> <phone:LongListSelector Margin="0,0,0,5" ItemsSource="{Binding ItemSourceMatrix}" x:Name="LongListSelector_Matrix" Loaded="Event_LongListSelector_OnLoaded_Matrix" ItemTemplate="{StaticResource Matrix}" GridCellSize="20, 20" LayoutMode="Grid" FontSize="10" Padding="10,0,-5,0" Tap="Event_LongListSelector_Tap_StartMatrix" Background="{Binding Path=ItemSourceMatrixBackground, Mode=TwoWay}" /> </phone:PanoramaItem> <!-- Panorama--> <phone:PanoramaItem Header=" "> <Grid> <Grid.RowDefinitions> <RowDefinition Height="30"/> <RowDefinition Height="60"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <phone:LongListSelector Margin="0,0,-22,0" Grid.Row="2" ItemsSource="{Binding ItemSourceSettingsSymbols}" x:Name="LongListSelector_SettingsSymbols" ItemTemplate="{StaticResource Resources_SettingsSymbols}" /> <toolkit:ListPicker x:Name="sightingTypesPicker" ExpansionMode="FullScreenOnly" FullModeHeader=" " ItemsSource="{Binding ItemSourceLanguage}" FullModeItemTemplate="{StaticResource ListPickerFullItemTemplate}" ItemTemplate="{StaticResource ListPickerItemTemplate}" Grid.Row="1" HorizontalAlignment="Left" SelectedItem="{Binding Path=ItemSourceLanguageSelected, Mode=OneWay}" BorderThickness="0" Height="60" Margin="0" VerticalAlignment="Top" Width="300" SelectionChanged="Event_ListPicker_SelectionChanged" /> <TextBlock Grid.Row="0" Text=" " /> </Grid> </phone:PanoramaItem> <!-- --> <phone:PanoramaItem Header=" "> <Grid VerticalAlignment="Center" HorizontalAlignment="Center"> <Grid.RowDefinitions> <RowDefinition Height="60"/> <RowDefinition Height="60"/> <RowDefinition Height="60"/> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="SE 1.0" FontSize="{StaticResource PhoneFontSizeLarge}"></TextBlock> <TextBlock Grid.Row="1" Text="se8se@hotmail.com" FontSize="{StaticResource PhoneFontSizeLarge}"></TextBlock> <TextBlock Grid.Row="2" FontSize="{StaticResource PhoneFontSizeLarge}"> SE, 2013</TextBlock> </Grid> </phone:PanoramaItem> <!-- Panorama --> <phone:PanoramaItem Header=" "> <Grid> <Grid.RowDefinitions> <RowDefinition Height="400"/> <RowDefinition Height="20"/> <RowDefinition Height="*"/> </Grid.RowDefinitions> <Controls:ColorPicker x:Name="ColorPicker" Grid.Row="0" Height="400" VerticalAlignment="Top"/> <phone:LongListSelector Margin="0,0,-22,0" Grid.Row="2" ItemsSource="{Binding ItemSourceSettingsColors}" x:Name="LongListSelector_SettingsColor" ItemTemplate="{StaticResource SettingsColor}" /> </Grid> </phone:PanoramaItem> </phone:Panorama> </Grid> </phone:PhoneApplicationPage>
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SE_Matrix_2d_v_14.ViewModels { public class BaseViewModel : INotifyPropertyChanged { #region INotifyPropertyChanging Members public event PropertyChangedEventHandler PropertyChanged; protected void NotifyPropertyChanged(String propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (null != handler) { handler(this, new PropertyChangedEventArgs(propertyName)); } } #endregion } }
using SE_Matrix_2d_v_14.DB; using SE_Matrix_2d_v_14.Helpers; using SE_Matrix_2d_v_14.Models; using SE_Matrix_2d_v_14.Resources; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace SE_Matrix_2d_v_14.ViewModels { public class MainViewModel : BaseViewModel { private SeDataContext db; public MainViewModel(string SeDBConnectionString) { db = new SeDataContext(SeDBConnectionString); ItemSourceSettingsSymbols = new ObservableCollection<Model_SettingsSymbols>(); ItemSourceMatrix = new ObservableCollection<Model_Matrixes>(); ItemSourceSettingsColors = new ObservableCollection<Model_Colors>(); ItemSourceLanguage = new ObservableCollection<Module_Languages>(); } #region ItemSourceSettingsSymbols /// <summary> /// ViewModel. ItemSourceSettingsSymbols. /// </summary> private ObservableCollection<Model_SettingsSymbols> _itemSourceSettingsSymbols; public ObservableCollection<Model_SettingsSymbols> ItemSourceSettingsSymbols { get { return _itemSourceSettingsSymbols; } set { _itemSourceSettingsSymbols = value; NotifyPropertyChanged("ItemSourceSettingsSymbols"); } } #endregion #region ItemSourceSettingsColors /// <summary> /// ViewModel. ItemSourceSettingsColors. /// </summary> private ObservableCollection<Model_Colors> _itemSourceSettingsColors; public ObservableCollection<Model_Colors> ItemSourceSettingsColors { get { return _itemSourceSettingsColors; } set { _itemSourceSettingsColors = value; NotifyPropertyChanged("ItemSourceSettingsColors"); } } #endregion #region ItemSourceMatrix /// <summary> /// ViewModel. ItemSourceMatrix. /// </summary> private ObservableCollection<Model_Matrixes> _itemSourceMatrix; public ObservableCollection<Model_Matrixes> ItemSourceMatrix { get { return _itemSourceMatrix; } set { _itemSourceMatrix = value; NotifyPropertyChanged("ItemSourceMatrix"); } } #endregion #region ItemSourceMatrixBackground /// <summary> /// ViewModel. ItemSourceMatrixBackground. /// </summary> public SolidColorBrush _itemSourceMatrixBackground; public SolidColorBrush ItemSourceMatrixBackground { get{return _itemSourceMatrixBackground;} set { _itemSourceMatrixBackground = value; NotifyPropertyChanged("ItemSourceMatrixBackground"); } } #endregion #region ItemSourceLanguage /// <summary> /// ViewModel. ItemSourceMatrixBackground. /// </summary> private ObservableCollection<Module_Languages> _itemSourceLanguage; public ObservableCollection<Module_Languages> ItemSourceLanguage { get { return _itemSourceLanguage; } set { _itemSourceLanguage = value; NotifyPropertyChanged("ItemSourceLanguage"); } } #endregion #region ItemSourceLanguageSelected /// <summary> /// ViewModel. ItemSourceMatrixBackground. /// </summary> private Module_Languages _itemSourceLanguageSelected; public Module_Languages ItemSourceLanguageSelected { get { return _itemSourceLanguageSelected; } set { _itemSourceLanguageSelected = value; NotifyPropertyChanged("ItemSourceLanguageSelected"); } } #endregion /// <summary> /// ViewModel. /// </summary> public void SaveChangesToDB() { db.SubmitChanges(); } public bool IsDataLoaded { get; private set; } int coef = 20; /// <summary> /// ViewModel. ViewModel . /// </summary> public void LoadData() { // Model_SettingsSymbols IQueryable<Model_SettingsSymbols> InDB_SettingsSymbol = (from Model_SettingsSymbols todo in db.DB_SettingsSymbol select todo); Param_WindowWidth = InDB_SettingsSymbol.Where(x => x.Param_Name == "Param_WindowWidth").FirstOrDefault().Param_Value; Param_WindowHeight = InDB_SettingsSymbol.Where(x => x.Param_Name == "Param_WindowHeight").FirstOrDefault().Param_Value; rowsNumber = (int)Math.Round(Param_WindowHeight / (decimal)coef, MidpointRounding.AwayFromZero); columnsNumber = (int)Math.Round(Param_WindowWidth / (decimal)coef, MidpointRounding.AwayFromZero) - 1; // ItemSourceSettingsSymbols, , _itemSourceSettingsSymbols = new SE_FillOC().FillSettingsSymbols(InDB_SettingsSymbol.Where(x => x.Param_Name != "Param_WindowWidth" && x.Param_Name != "Param_WindowHeight")); // , _itemSourceMatrix = new SE_FillOC().FillMatrixes(rowsNumber, columnsNumber); // Model_Colors IQueryable<Model_Colors> InDB_Colors = (from Model_Colors todo in db.DB_Color select todo); // ItemSourceSettingsColors, _itemSourceSettingsColors = new SE_FillOC().FillColors(InDB_Colors); // Module_Languages IQueryable<Module_Languages> InDB_Languages = (from Module_Languages todo in db.DB_Language select todo); // ItemSourceLanguage, _itemSourceLanguage = new SE_FillOC().FillLanguages(InDB_Languages); // ItemSourceMatrixBackground = SE_Colors.StringToBrush(ItemSourceSettingsColors.Where(x => x.Name == "Param_Color_Background").SingleOrDefault().Value); // ItemSourceLanguageSelected = ItemSourceLanguage.Where(z => z.Selected == true).SingleOrDefault(); LanguageFrom = ItemSourceLanguage.Where(z => z.Selected == true).SingleOrDefault().ValueFrom; LanguageTo = ItemSourceLanguage.Where(z => z.Selected == true).SingleOrDefault().ValueTo; this.IsDataLoaded = true; } #region UpdateSettingsSymbolsByID /// <summary> /// ViewModel. Model_SettingsSymbols ID /// </summary> public void UpdateSettingsSymbolsByID(Model_SettingsSymbols SettingsSymbolsForDelete) { var query = (from Model_SettingsSymbols todo in db.DB_SettingsSymbol where todo.ID == SettingsSymbolsForDelete.ID select todo).First(); query.Param_Value = SettingsSymbolsForDelete.Param_Value; db.SubmitChanges(); ItemSourceSettingsSymbols.Where(v => v.ID == SettingsSymbolsForDelete.ID).SingleOrDefault().Param_Value = SettingsSymbolsForDelete.Param_Value; } #endregion #region UpdateSettingsSymbolsByName /// <summary> /// ViewModel. Model_SettingsSymbols /// </summary> public void UpdateSettingsSymbolsByName(Model_SettingsSymbols SettingsSymbolsForDelete) { var query = (from Model_SettingsSymbols todo in db.DB_SettingsSymbol where todo.Param_Name == SettingsSymbolsForDelete.Param_Name select todo).SingleOrDefault(); query.Param_Value = SettingsSymbolsForDelete.Param_Value; db.SubmitChanges(); } #endregion #region UpdateSettingsColorByID /// <summary> /// ViewModel. Model_Colors ID /// </summary> public void UpdateSettingsColorByID(Model_Colors SettingsSymbolsForDelete) { var query = (from Model_Colors todo in db.DB_Color where todo.ID == SettingsSymbolsForDelete.ID select todo).First(); query.Value = SettingsSymbolsForDelete.Value; db.SubmitChanges(); ItemSourceSettingsColors.Where(v => v.ID == SettingsSymbolsForDelete.ID).SingleOrDefault().Value = SettingsSymbolsForDelete.Value; // , Background View ItemSourceMatrixBackground = SE_Colors.StringToBrush(ItemSourceSettingsColors.Where(x => x.Name == "Param_Color_Background").SingleOrDefault().Value); } #endregion #region UpdateSelectedLanguageByID /// <summary> /// ViewModel. Module_Languages ID /// </summary> public void UpdateSettingsColorByID(Module_Languages forUpdate) { var query = (from Module_Languages todo in db.DB_Language where todo.Selected == true select todo).SingleOrDefault(); query.Selected = false; db.SubmitChanges(); var query1 = (from Module_Languages todo in db.DB_Language where todo.ID == forUpdate.ID select todo).SingleOrDefault(); query1.Selected = true; db.SubmitChanges(); // ItemSourceLanguage.Where(c => c.Selected == true).SingleOrDefault().Selected = false; ItemSourceLanguage.Where(c => c.ID == forUpdate.ID).SingleOrDefault().Selected = true; ItemSourceLanguageSelected = ItemSourceLanguage.Where(z => z.Selected == true).SingleOrDefault(); LanguageFrom = ItemSourceLanguage.Where(z => z.Selected == true).SingleOrDefault().ValueFrom; LanguageTo = ItemSourceLanguage.Where(z => z.Selected == true).SingleOrDefault().ValueTo; } #endregion #region Class params public SolidColorBrush TheColorOfFirstSymbol { get; set; } public SolidColorBrush TheColorOfBackground { get; set; } public SolidColorBrush TheColorOfGradientFromBrush { get; set; } public SolidColorBrush TheColorOfGradientToBrush { get; set; } public Dictionary<string, int> TheColorOfGradientFromDictionary { get; set; } public Dictionary<string, int> TheColorOfGradientToDictionary { get; set; } int Param_Iteration { get; set; } int Param_MinLength { get; set; } int Param_MaxLength { get; set; } int Param_SpeedTo { get; set; } int rowsNumber { get; set; } int columnsNumber { get; set; } int Param_WindowWidth { get; set; } int Param_WindowHeight { get; set; } int Param_FontSize { get; set; } int LanguageFrom { get; set; } int LanguageTo { get; set; } Random random = new Random(); SE_Colors SE_Colors = new SE_Colors(); #endregion /// <summary> /// /// </summary> public void Start() { for (int i = 0; i < ItemSourceSettingsSymbols.Where(v => v.Param_Name == "Param_CountSimultaneously").SingleOrDefault().Param_Value; i++ ) { MoveMatrix(); } } /// <summary> /// ViewModel. Matrix. . /// /// </summary> public async Task MoveMatrix() { Param_Iteration = ItemSourceSettingsSymbols.Where(v => v.Param_Name == "Param_Iteration").SingleOrDefault().Param_Value; Param_MinLength = ItemSourceSettingsSymbols.Where(v => v.Param_Name == "Param_MinLength").SingleOrDefault().Param_Value; Param_MaxLength = ItemSourceSettingsSymbols.Where(v => v.Param_Name == "Param_MaxLength").SingleOrDefault().Param_Value; Param_SpeedTo = ItemSourceSettingsSymbols.Where(v => v.Param_Name == "Param_SpeedTo").SingleOrDefault().Param_Value; Param_FontSize = ItemSourceSettingsSymbols.Where(v => v.Param_Name == "Param_FontSize").SingleOrDefault().Param_Value; TheColorOfFirstSymbol = SE_Colors.StringToBrush(ItemSourceSettingsColors.Where(z => z.Name == "Param_Color_FirstSymbol").SingleOrDefault().Value); TheColorOfBackground = SE_Colors.StringToBrush(ItemSourceSettingsColors.Where(x1 => x1.Name == "Param_Color_Background").SingleOrDefault().Value); TheColorOfGradientFromBrush = SE_Colors.StringToBrush(ItemSourceSettingsColors.Where(x2 => x2.Name == "Param_Color_GradientFrom").SingleOrDefault().Value); TheColorOfGradientToBrush = SE_Colors.StringToBrush(ItemSourceSettingsColors.Where(x3 => x3.Name == "Param_Color_GradientTo").SingleOrDefault().Value); TheColorOfGradientFromDictionary = SE_Colors.StringToDictionary(ItemSourceSettingsColors.Where(x4 => x4.Name == "Param_Color_GradientFrom").SingleOrDefault().Value); TheColorOfGradientToDictionary = SE_Colors.StringToDictionary(ItemSourceSettingsColors.Where(x5 => x5.Name == "Param_Color_GradientTo").SingleOrDefault().Value); for (int i = 0; i < Param_Iteration; i++) { // int ranX = random.Next(0, columnsNumber); // int ranY = random.Next( -Param_MaxLength , rowsNumber); // int length = random.Next(Param_MinLength, Param_MaxLength); // int time = random.Next(5, Param_SpeedTo); // await MoveMatrixElements(ranX, ranY, length, time); } } /// <summary> /// ViewModel. Matrix. /// </summary> /// <param name="x"> </param> /// <param name="y"> </param> /// <param name="length"> </param> /// <param name="time"> </param> public async Task MoveMatrixElements(int x, int y, int length, int time) { // , . Dictionary<int, Model_Matrixes> dicElem = new Dictionary<int, Model_Matrixes>(); int count = 0; int fail = 0; for (int i = 0; i < length; i++) { if ((y + i) < rowsNumber && (y + i) >= 0) { string elementNameToMove = x + "_" + (y + i); Model_Matrixes elementToMove = ItemSourceMatrix.Where(xx => xx.Matrix_Name == elementNameToMove).SingleOrDefault(); dicElem[count] = (elementToMove); await MatrixElementsChange(elementToMove, time, TheColorOfFirstSymbol); // , . , . for (int k = 0; k <= count; k++) { // , . "" Model_Matrixes previousElement = dicElem[k]; Dictionary<string, int> coefficientFromGradient = new SE_Colors().GetoefficientFromGradient(TheColorOfGradientFromDictionary, TheColorOfGradientToDictionary, count); SolidColorBrush colorSymbol = SE_Colors.GetSymbolColorForGradient(TheColorOfGradientFromDictionary, coefficientFromGradient, (i - fail - k)); Task dsvv = MatrixElementsChange(previousElement, time, colorSymbol); } count++; } else { // . fail++; } } } /// <summary> /// ViewModel. Matrix. , , /// /// /// </summary> /// <param name="element"> Model_Matrixes</param> /// <param name="timeOut">, , /// </param> /// <param name="NewColor"> </param> public async Task MatrixElementsChange(Model_Matrixes element, int timeOut, SolidColorBrush NewColor) { element.Matrix_Text = RandomActualSymbol(); element.Matrix_Foreground = NewColor; element.Matrix_FontSize = Param_FontSize; await Task.Delay(timeOut); } /// <summary> /// /// </summary> /// <returns> , </returns> public string RandomActualSymbol() { // return char.ConvertFromUtf32(this.random.Next((int)LanguageFrom, (int)LanguageTo)); } } }
ItemSourceSettingsSymbols = new ObservableCollection<Model_SettingsSymbols>(); ItemSourceMatrix = new ObservableCollection<Model_Matrixes>(); ItemSourceSettingsColors = new ObservableCollection<Model_Colors>(); ItemSourceLanguage = new ObservableCollection<Module_Languages>();
Param_WindowWidth = InDB_SettingsSymbol.Where(x => x.Param_Name == "Param_WindowWidth").FirstOrDefault().Param_Value;
#region UpdateSettingsSymbolsByName /// <summary> /// ViewModel. Model_SettingsSymbols /// </summary> public void UpdateSettingsSymbolsByName(Model_SettingsSymbols SettingsSymbolsForDelete) { var query = (from Model_SettingsSymbols todo in db.DB_SettingsSymbol where todo.Param_Name == SettingsSymbolsForDelete.Param_Name select todo).SingleOrDefault(); query.Param_Value = SettingsSymbolsForDelete.Param_Value; db.SubmitChanges(); } #endregion
using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace SE_Matrix_2d_v_14.Helpers { public class SE_Colors { /// <summary> /// "#FF112233" SolidColorBrush, /// (8-9 ) (6-7 ) /// </summary> /// <param name="color"> ("#FF112233")</param> /// <returns> SolidColorBrush</returns> public SolidColorBrush StringToBrush(string color) { color = color.Replace("#", ""); switch(color.Length) { case 8 : return new SolidColorBrush(Color.FromArgb( byte.Parse(color.Substring(0, 2), System.Globalization.NumberStyles.HexNumber), byte.Parse(color.Substring(2, 2), System.Globalization.NumberStyles.HexNumber), byte.Parse(color.Substring(4, 2), System.Globalization.NumberStyles.HexNumber), byte.Parse(color.Substring(6, 2), System.Globalization.NumberStyles.HexNumber) )); case 6: return new SolidColorBrush(Color.FromArgb( 255, byte.Parse(color.Substring(0, 2), System.Globalization.NumberStyles.HexNumber), byte.Parse(color.Substring(2, 2), System.Globalization.NumberStyles.HexNumber), byte.Parse(color.Substring(4, 2), System.Globalization.NumberStyles.HexNumber) )); default: return null; } } /// <summary> /// SolidColorBrush ARGB Dictionary /// /// </summary> /// <param name="color">, SolidColorBrush</param> /// <returns> , Dictionary</returns> public Dictionary<string, int> BrushToDictionary(SolidColorBrush color) { Dictionary<string, int> colorArgb = new Dictionary<string, int>(); colorArgb["A"] = color.Color.A; colorArgb["R"] = color.Color.R; colorArgb["G"] = color.Color.G; colorArgb["B"] = color.Color.B; return colorArgb; } /// <summary> /// Dictionary SolidColorBrush /// </summary> /// <param name="toBrush">, Dictionary ARGB</param> /// <returns> SolidColorBrush</returns> public SolidColorBrush DictionaryToBrush(Dictionary<string, int> toBrush) { return new SolidColorBrush(new Color() { A = (byte)toBrush["A"], R = (byte)toBrush["R"], G = (byte)toBrush["G"], B = (byte)toBrush["B"] }); } /// <summary> /// , "#FF112233" Dictionary ARGB /// (8-9 ) (6-7 ) /// </summary> /// <param name="toDictionary"> "#FF112233"</param> /// <returns> Dictionary ARGB</returns> public Dictionary<string, int> StringToDictionary(string toDictionary) { toDictionary = toDictionary.Replace("#", ""); Dictionary<string, int> colorArgb = new Dictionary<string, int>(); switch (toDictionary.Length) { case 8: colorArgb["A"] = byte.Parse(toDictionary.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); colorArgb["R"] = byte.Parse(toDictionary.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); colorArgb["G"] = byte.Parse(toDictionary.Substring(4, 2), System.Globalization.NumberStyles.HexNumber); colorArgb["B"] = byte.Parse(toDictionary.Substring(6, 2), System.Globalization.NumberStyles.HexNumber); break; case 6: colorArgb["A"] = 255; colorArgb["R"] = byte.Parse(toDictionary.Substring(0, 2), System.Globalization.NumberStyles.HexNumber); colorArgb["G"] = byte.Parse(toDictionary.Substring(2, 2), System.Globalization.NumberStyles.HexNumber); colorArgb["B"] = byte.Parse(toDictionary.Substring(4, 2), System.Globalization.NumberStyles.HexNumber); break; default: colorArgb["A"] = 255; colorArgb["R"] = 255; colorArgb["G"] = 255; colorArgb["B"] = 255; break; } return colorArgb; } /// <summary> /// , /// /// </summary> /// <param name="gradientFrom">Dictionary ARGB. , </param> /// <param name="gradientTo">Dictionary ARGB. , </param> /// <param name="count"></param> /// <returns>Dictionary ARGB </returns> public Dictionary<string, int> GetoefficientFromGradient(Dictionary<string, int> gradientFrom, Dictionary<string, int> gradientTo, int count) { Dictionary<string, int> coefficientArgb = new Dictionary<string, int>(); coefficientArgb["A"] = (int)Math.Round((gradientFrom["A"] - 10) / (double)(count + 1)) - 1; coefficientArgb["R"] = (int)Math.Round((gradientFrom["R"] - gradientTo["R"]) / (double)(count + 1)) - 1; coefficientArgb["G"] = (int)Math.Round((gradientFrom["G"] - gradientTo["G"]) / (double)(count + 1)) - 1; coefficientArgb["B"] = (int)Math.Round((gradientFrom["B"] - gradientTo["B"]) / (double)(count + 1)) - 1; return coefficientArgb; } /// <summary> /// /// </summary> /// <param name="gradientFrom">Dictionary ARGB. , </param> /// <param name="coefficientFromGradient">Dictionary ARGB. </param> /// <param name="coefficient">, </param> /// <returns>, SolidColorBrush</returns> public SolidColorBrush GetSymbolColorForGradient(Dictionary<string, int> gradientFrom, Dictionary<string, int> coefficientFromGradient, int coefficient) { Dictionary<string, int> symbolColorForGradient = new Dictionary<string, int>(); symbolColorForGradient["A"] = (gradientFrom["A"] - (coefficient * coefficientFromGradient["A"])); symbolColorForGradient["R"] = (gradientFrom["R"] - (coefficient * coefficientFromGradient["R"])); symbolColorForGradient["G"] = (gradientFrom["G"] - (coefficient * coefficientFromGradient["G"])); symbolColorForGradient["B"] = (gradientFrom["B"] - (coefficient * coefficientFromGradient["B"])); return DictionaryToBrush(symbolColorForGradient); } } }
using SE_Matrix_2d_v_14.Models; using SE_Matrix_2d_v_14.Resources; using SE_Matrix_2d_v_14.ViewModels; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Media; namespace SE_Matrix_2d_v_14.Helpers { public class SE_FillOC { /// <summary> /// ObservableCollection /// </summary> /// <param name="model"> </param> /// <returns>ObservableCollection</returns> public ObservableCollection<Model_SettingsSymbols> FillSettingsSymbols(IQueryable<Model_SettingsSymbols> model) { ObservableCollection<Model_SettingsSymbols> _itemObservableCollection = new ObservableCollection<Model_SettingsSymbols>(); foreach(var toFill in model) { _itemObservableCollection.Add( new Model_SettingsSymbols { ID = toFill.ID, Param_Name = toFill.Param_Name, Param_Value = toFill.Param_Value, NameForTranslate = AppResources.ResourceManager.GetString(toFill.Param_Name, AppResources.Culture), }); } return _itemObservableCollection; } /// <summary> /// ObservableCollection Model_Matrixes /// </summary> /// <param name="rowsNumber"> </param> /// <param name="columnsNumber"> </param> /// <returns>ObservableCollection</returns> public ObservableCollection<Model_Matrixes> FillMatrixes(int rowsNumber, int columnsNumber) { ObservableCollection<Model_Matrixes> _itemObservableCollection = new ObservableCollection<Model_Matrixes>(); for (int rows = 0; rows < rowsNumber; rows++) { for (int columns = 0; columns < columnsNumber; columns++) { _itemObservableCollection.Add(new Model_Matrixes() { Matrix_Name = columns + "_" + rows, Matrix_Text = "", Matrix_FontSize = 15, Matrix_Foreground = new SolidColorBrush(Colors.Cyan) }); } } return _itemObservableCollection; } /// <summary> /// ObservableCollection /// </summary> /// <param name="model"> </param> /// <returns>ObservableCollection</returns> public ObservableCollection<Model_Colors> FillColors(IQueryable<Model_Colors> model) { ObservableCollection<Model_Colors> _itemObservableCollection = new ObservableCollection<Model_Colors>(); foreach (var toFill in model) { _itemObservableCollection.Add( new Model_Colors { ID = toFill.ID, Name = toFill.Name, Value = toFill.Value, NameForTranslate = AppResources.ResourceManager.GetString(toFill.Name, AppResources.Culture), }); } return _itemObservableCollection; } /// <summary> /// ObservableCollection /// </summary> /// <param name="model"> </param> /// <returns>ObservableCollection</returns> public ObservableCollection<Module_Languages> FillLanguages(IQueryable<Module_Languages> model) { ObservableCollection<Module_Languages> _itemObservableCollection = new ObservableCollection<Module_Languages>(); foreach (var toFill in model) { _itemObservableCollection.Add( new Module_Languages { ID = toFill.ID, Name = toFill.Name, ValueFrom = toFill.ValueFrom, ValueTo = toFill.ValueTo, NameForTranslate = AppResources.ResourceManager.GetString(toFill.Name, AppResources.Culture), Selected = toFill.Selected }); } return _itemObservableCollection; } } }
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 SE_Matrix_2d_v_14.Models; using System.Windows.Shapes; using System.Diagnostics; using System.Reflection; using System.Windows.Media; namespace SE_Matrix_2d_v_14 { public partial class MainPage : PhoneApplicationPage { // public MainPage() { InitializeComponent(); // listbox this.DataContext = App.ViewModel; } // ViewModel protected override void OnNavigatedTo(NavigationEventArgs e) { if (!App.ViewModel.IsDataLoaded) { App.ViewModel.LoadData(); } App.ViewModel.SaveChangesToDB(); } private bool _updateSettings = false; public bool UpdateSettings { get { return _updateSettings; } set { _updateSettings = value; } } /// <summary> /// 0, true, /// /// </summary> private void Event_TextBox_TextChanged_SettingSymbols(object sender, TextChangedEventArgs e) { TextBox paramToUpdate = sender as TextBox; if (paramToUpdate.Text.Length > 0) { UpdateSettings = true; } } /// <summary> /// UpdateSettings == true, , /// </summary> private void Event_TextBox_LostFocus_SettingsSymbols(object sender, RoutedEventArgs e) { TextBox paramToUpdate = sender as TextBox; if (UpdateSettings == true) { UpdateSettings = false; Model_SettingsSymbols updateInTable = new Model_SettingsSymbols { ID = Convert.ToInt32(paramToUpdate.Tag), Param_Value = Convert.ToInt32(paramToUpdate.Text) }; App.ViewModel.UpdateSettingsSymbolsByID(updateInTable); } } /// <summary> /// , /// </summary> private void Event_LongListSelector_OnLoaded_Matrix(object sender, RoutedEventArgs e) { LongListSelector paramToUpdate = sender as LongListSelector; Model_SettingsSymbols updateHeightInTable = new Model_SettingsSymbols { Param_Name = "Param_WindowHeight", Param_Value = Convert.ToInt32(paramToUpdate.ActualHeight) }; App.ViewModel.UpdateSettingsSymbolsByName(updateHeightInTable); Model_SettingsSymbols updateWigthInTable = new Model_SettingsSymbols { Param_Name = "Param_WindowWidth", Param_Value = Convert.ToInt32(paramToUpdate.ActualWidth) }; App.ViewModel.UpdateSettingsSymbolsByName(updateWigthInTable); } /// <summary> /// , - . /// </summary> private async void Event_LongListSelector_Tap_StartMatrix(object sender, System.Windows.Input.GestureEventArgs e) { App.ViewModel.Start(); } /// <summary> /// - /// </summary> private void Event_Rectangle_Tap_ChangeColor(object sender, System.Windows.Input.GestureEventArgs e) { Rectangle paramToUpdate = sender as Rectangle; Model_Colors updateInTable = new Model_Colors { ID = Convert.ToInt32(paramToUpdate.Tag), Value = ColorPicker.Color.ToString() }; App.ViewModel.UpdateSettingsColorByID(updateInTable); } /// <summary> /// /// </summary> private void Event_ListPicker_SelectionChanged(object sender, SelectionChangedEventArgs e) { Module_Languages selectedItem = ((sender as ListPicker).SelectedItem as Module_Languages); Module_Languages updateInTable = new Module_Languages { ID = selectedItem.ID }; App.ViewModel.UpdateSettingsColorByID(updateInTable); } } }
Source: https://habr.com/ru/post/201240/
All Articles