///<summary> Создание элемента для котактов </summary> private Grid CreateContactControl(ModelUserContact modelUserContact) { var grid = new Grid(); var stackPanel = new StackPanel { Height = 36, Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Left }; grid.Children.Add(stackPanel); stackPanel.Children.Add(new TextBlock { VerticalAlignment = VerticalAlignment.Center, Text = @"d-sip", Foreground = Brushes.Gray }); stackPanel.Children.Add(new TextBlock { Margin = new Thickness(10, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center, FontWeight = FontWeights.Bold, Text = modelUserContact.IdentityString }); var imagePhone = new Image { Height = 19, Margin = new Thickness(0, 8, 0, 8), Source = UtilityPicture.GetBitmapImageFromStringUri("/Resources/phone_offline.png") }; var button = new Button { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Right, Style = Application.Current.TryFindResource(@"ButtonStyleTransparent") as Style, Content = imagePhone }; button.Click += (sender, args) => ContactNumberButtonCall(modelUserContact.Identity); grid.Children.Add(button); return(grid); }
/// <summary> Создание элемента для котактных номеров </summary> private Grid CreateContactControl(ModelUserContact modelUserContact) { var grid = new Grid { Margin = new Thickness(0, 0, 0, 10), ColumnDefinitions = { new ColumnDefinition { Width = GridLength.Auto }, new ColumnDefinition(), new ColumnDefinition{ Width = GridLength.Auto } } }; var comboBox = new ComboBox { Margin = new Thickness(0, 0, 10, 0), Width = 180, ItemsSource = _viewModelManualContact.ListModelEnumUserContactType, DisplayMemberPath = @"Name" }; var bindingComboBox = new Binding { Source = modelUserContact, Path = new PropertyPath("ModelEnumUserContactTypeObj") }; comboBox.SetBinding(ComboBox.SelectedItemProperty, bindingComboBox); var textBox = new TextBox(); var bindingTextBox = new Binding { Source = modelUserContact, Path = new PropertyPath("Identity") }; textBox.SetBinding(TextBox.TextProperty, bindingTextBox); textBox.PreviewTextInput += TextBoxPreviewTextInput; textBox.TextChanged += TextBoxOnTextChanged; textBox.CommandBindings.Add(new CommandBinding(ApplicationCommands.Paste, OnPasteCommand)); // нужно для запрета вставки по Ctrl+V если оставить обработчик пустым Grid.SetColumn(textBox, 1); var image = new Image { Margin = new Thickness(0, 1, 0, 0), Height = 11, Source = UtilityPicture.GetBitmapImageFromStringUri(@"/Resources/cancel.png") }; var button = new Button { Margin = new Thickness(5, 0, 0, 0), Content = image, VerticalContentAlignment = VerticalAlignment.Center, Style = Application.Current.TryFindResource(@"ButtonStyleTransparent") as Style }; button.DataContext = modelUserContact; button.Click += (sender, args) => _viewModelManualContact.RemoveUserContact((sender as Button)?.DataContext as ModelUserContact); Grid.SetColumn(button, 2); grid.Children.Add(comboBox); grid.Children.Add(textBox); grid.Children.Add(button); return(grid); }
/// <summary> Создание элемента для моих котактов </summary> private StackPanel CreateContactMyControl(ModelUserContact modelUserContact) { var stackPanel = new StackPanel { Height = 36, Orientation = Orientation.Horizontal }; stackPanel.Children.Add(new TextBlock { VerticalAlignment = VerticalAlignment.Center, Text = @"d-sip", Foreground = Brushes.Gray }); stackPanel.Children.Add(new TextBlock { Margin = new Thickness(10, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center, FontWeight = FontWeights.Bold, Text = modelUserContact.IdentityString }); return(stackPanel); }
/// <summary> Создание элемента для дополнительных котактов </summary> private StackPanel CreateExtraContactControl(ModelUserContact modelUserContact) { var stackPanel = new StackPanel { Height = 36, Orientation = Orientation.Horizontal }; var textBlock = new TextBlock { VerticalAlignment = VerticalAlignment.Center, Foreground = Brushes.Gray }; textBlock.SetResourceReference(TextBlock.TextProperty, @"ViewUserDetail_Phone"); stackPanel.Children.Add(textBlock); stackPanel.Children.Add(new TextBlock { Margin = new Thickness(10, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center, FontWeight = FontWeights.Bold, Text = modelUserContact.IdentityString }); return(stackPanel); }
/// <summary> Создание элемента для дополнительных котактов </summary> private Grid CreateContactExtraControl(ModelUserContact modelUserContact, ModelContact currentModelContact) { var grid = new Grid(); var stackPanel = new StackPanel { Height = 36, Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Left }; grid.Children.Add(stackPanel); var textBlock = new TextBlock { VerticalAlignment = VerticalAlignment.Center, Foreground = Brushes.Silver }; textBlock.SetResourceReference(TextBlock.TextProperty, @"ViewCallRedirect_Phone"); stackPanel.Children.Add(textBlock); stackPanel.Margin = new Thickness(20, 10, 10, 10); stackPanel.Children.Add(new TextBlock { Margin = new Thickness(20, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center, Text = modelUserContact.IdentityString }); var imagePhoneTransfer = new Image { Height = 19, Margin = new Thickness(0, 8, 0, 8), Source = UtilityPicture.GetBitmapImageFromStringUri("/Resources/transfer_default_offline.png") }; var button = new Button { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Right, Style = Application.Current.TryFindResource(@"ButtonStyleTransparent") as Style, Content = imagePhoneTransfer }; button.Click += (sender, args) => ContactExtraNumberTransferCall(modelUserContact.Identity); grid.Children.Add(button); return(grid); }
/// <summary> Создание элемента для моих котактов </summary> private Grid CreateContactControl(ModelUserContact modelUserContact, ModelContact currentModelContact) { var grid = new Grid(); var stackPanel = new StackPanel { Height = 36, Orientation = Orientation.Horizontal, HorizontalAlignment = HorizontalAlignment.Left }; grid.Children.Add(stackPanel); var imagePhone = new Image { Height = 19, Margin = new Thickness(0, 8, 0, 8) }; var button = new Button { VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Right, Style = Application.Current.TryFindResource(@"ButtonStyleTransparent") as Style, Content = imagePhone }; button.Click += (sender, args) => ContactNumberTransferCall(modelUserContact.Identity); _listImageSip.Add(imagePhone); // stackPanel.Children.Add(new Image { VerticalAlignment = VerticalAlignment.Center, Height = 19, Margin = new Thickness(5), Source = favouriteBitmapImage }); stackPanel.Margin = new Thickness(20, 10, 10, 10); stackPanel.Children.Add(new TextBlock { VerticalAlignment = VerticalAlignment.Center, Text = @"d-sip", Foreground = Brushes.Silver }); stackPanel.Children.Add(new TextBlock { Margin = new Thickness(40, 0, 0, 0), VerticalAlignment = VerticalAlignment.Center, Text = modelUserContact.IdentityString }); grid.Children.Add(button); return(grid); }
/// <summary> Метод удаляющий телефонный номер </summary> public void RemoveUserContact(ModelUserContact modelUserContact) { CurrentModelContact.ListModelUserContactExtra.Remove(modelUserContact); ChangedListModelUserContactExtra?.Invoke(this, EventArgs.Empty); }