private void DeleteFitment_Button_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("Do you want to delete selected fitments?", "Confirm", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { using (var db = new ProductDBEntitie()) { DataGridRow row = (DataGridRow)(DataTable.ItemContainerGenerator.ContainerFromItem(DataTable.SelectedItem)); DataGridDetailsPresenter presenter = FindVisualChild <DataGridDetailsPresenter>(row); DataTemplate template = presenter.ContentTemplate; DataGrid dg = (DataGrid)template.FindName("datagridf", presenter); DataGridCheckBoxColumn cb = (DataGridCheckBoxColumn)template.FindName("NOf", presenter); List <int> deleteFitment = new List <int>(); foreach (Fitment f in dg.ItemsSource) { try { if (((CheckBox)cb.GetCellContent(f)).IsChecked == true) { deleteFitment.Add(f.id); Fitment fitment = (from c in db.Fitment where c.id == f.id select c).FirstOrDefault(); if (fitment != null) { db.Fitment.Remove(fitment); db.SaveChanges(); } } } catch { } } new ReadFitmentsDB(dg, statusBar); } } }
private void OnMouseDoubleClick(object sender, RoutedEventArgs e) { if (EditingEnabled) { if (FindVisualParent((DependencyObject)e.OriginalSource, e.Source.GetType()) == e.Source) { e.Handled = true; TreeViewItem selectedItem = sender as TreeViewItem; ContentPresenter myContentPresenter = FindVisualChild <ContentPresenter>(selectedItem); DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; TextBlock tb = (TextBlock)myDataTemplate.FindName("tb", myContentPresenter); tb.Visibility = Visibility.Collapsed; TextBox etb = (TextBox)myDataTemplate.FindName("etb", myContentPresenter); etb.Text = tb.Text; etb.Visibility = Visibility.Visible; etb.Focus(); etb.LostFocus += (o, f) => { string newPath = Rename(selectedItem, tb.Text, etb.Text); if (newPath != null) { tb.Text = etb.Text; InitExplorer(); SetSelectedPath(newPath); NotifyRenameListeners(selectedItem); } etb.Visibility = Visibility.Collapsed; tb.Visibility = Visibility.Visible; }; } } }
private void queryDataGrid_PreparingCellForEdit(object sender, DataGridPreparingCellForEditEventArgs e) { if (e.EditingElement is ContentPresenter) { var cp = e.EditingElement as ContentPresenter; DataTemplate temp = cp.ContentTemplate; Image img = (Image)temp.FindName("image", cp); if (img != null) { this.cellText = (img.Source == null) ? "" : img.Source.ToString(); this.rowIndex = e.Row.GetIndex(); } else { DatePicker dp = temp.FindName("datepicker", cp) as DatePicker; if (dp != null) { this.cellText = dp.Text; } } } else if (e.EditingElement is TextBox) { this.cellText = ((TextBox)e.EditingElement).Text; } else if (e.EditingElement is ComboBox) { this.cellText = ((ComboBox)e.EditingElement).Text; } else if (e.EditingElement is DatePicker) { this.cellText = ((DatePicker)e.EditingElement).Text; } }
private void ResultMapHeader_Collapsed(object sender, RoutedEventArgs e) { Expander expander = sender as Expander; foreach (object obj in this.ResultMapList.Items) { ListBoxItem lbi = this.ResultMapList.ItemContainerGenerator.ContainerFromItem(obj) as ListBoxItem; ContentPresenter tempContentPresenter = FindVisualChild <ContentPresenter>(lbi); if (tempContentPresenter != null) { DataTemplate tempDataTemplate = tempContentPresenter.ContentTemplate; Expander mapHeader = tempDataTemplate.FindName("ResultMapHeader", tempContentPresenter) as Expander; ListBox itemList = tempDataTemplate.FindName("ResultItemList", tempContentPresenter) as ListBox; //Find the target list and clear the selection if (expander.Header == mapHeader.Header) { if (itemList.SelectedIndex != -1) { this.ItemDescription.Text = string.Empty; } itemList.UnselectAll(); break; } } } }
private void FetchButton_Clicked(object sender, RoutedEventArgs e) { Dictionary <string, string> columnValuePairs = new Dictionary <string, string>(); ListBox columnsListBox = ColumnsListBox; for (int i = 0; i < ColumnsListBox.Items.Count; i++) { ListBoxItem listBoxItem = ColumnsListBox.ItemContainerGenerator.ContainerFromIndex(i) as ListBoxItem; ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(listBoxItem); DataTemplate dataTemplate = contentPresenter.ContentTemplate; TextBlock keyTextBlock = (TextBlock)dataTemplate.FindName("ColumnName", contentPresenter); TextBox valueTextBox = (TextBox)dataTemplate.FindName("ColumnValue", contentPresenter); if (!String.IsNullOrEmpty(valueTextBox.Text) && !String.IsNullOrWhiteSpace(valueTextBox.Text)) { columnValuePairs.Add(keyTextBlock.Text, valueTextBox.Text); } } if (columnValuePairs.Count > 0) { ((MainViewModel)this.DataContext).SelectRowsMatching(columnValuePairs); } else { ((MainViewModel)this.DataContext).SelectRows(); } }
private void List_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (list.SelectedItem != null) { l = list.SelectedItem as drink; isselect = true; if (listViewItem != null) { ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(listViewItem); DataTemplate dataTemplate = contentPresenter.ContentTemplate; TextBox tb = (TextBox)dataTemplate.FindName("tb", contentPresenter); Button bt = (Button)dataTemplate.FindName("bt", contentPresenter); bt.IsEnabled = false; tb.IsEnabled = false; tb.Text = ""; } listViewItem = (ListViewItem)(list.ItemContainerGenerator.ContainerFromItem(list.SelectedItem)); ContentPresenter myContentPresenter = FindVisualChild <ContentPresenter>(listViewItem); DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; Button button = (Button)myDataTemplate.FindName("bt", myContentPresenter); TextBox textBox = (TextBox)myDataTemplate.FindName("tb", myContentPresenter); button.IsEnabled = true; textBox.IsEnabled = true; } }
// This is used by both ListBox controls private void ListBoxItem_SelectCurrentItem(object sender, KeyboardFocusChangedEventArgs e) { ListBoxItem item = sender as ListBoxItem; if (item != null && !item.IsSelected) { item.IsSelected = true; } if (item != null) { ContentPresenter contentPresenter = ControlHelper.FindVisualChild <ContentPresenter>(item); DataTemplate dataTemplate = contentPresenter.ContentTemplate; TextBox textBox = dataTemplate.FindName("CatalogSchemeName", contentPresenter) as TextBox; if (textBox == null) { textBox = dataTemplate.FindName("CategoryNameTextBox", contentPresenter) as TextBox; } if (textBox != null) { textBox.Dispatcher.BeginInvoke(new Action(() => textBox.SelectAll())); } } }
/// <summary> /// Acción al añadir un descuento en una venta. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddDiscount_Click(object sender, RoutedEventArgs e) { // Obtener contenedor. DataTemplate auxDT = (FormGrid.Children[0] as ContentPresenter).ContentTemplate; // Obtener elementos de la GUI TextBox searchDiscounts = (TextBox)auxDT.FindName("DiscountSearch", (ContentPresenter)FormGrid.Children[0]); StackPanel discountSP = (StackPanel)auxDT.FindName("Discounts", (ContentPresenter)FormGrid.Children[0]); // Crear variable y conexión para el descuento. DiscountsConn dc = new DiscountsConn(); // Discount discount; try { selDisc = dc.Get(int.Parse(searchDiscounts.Text)); // Intentar buscar el ID transformado. if (selDisc == null) { throw new Exception(); } relationDisc[(ActivityList.SelectedItem as ContentPresenter)] = selDisc; } catch { Error error = new Error("El ID del descuento introducido no esta aceptado."); error.Show(); // Si da algún error mostrar que ha fallado. return; } // Crear y añadir elemento a la lista visual. ContentPresenter discountItem = new ContentPresenter(); discountItem.ContentTemplate = (DataTemplate)Resources["DiscountItem"]; discountItem.Content = searchDiscounts.Text; discountSP.Children.Clear(); // Solo se permite uno, limpiar antes siempre. discountSP.Children.Add(discountItem); // Refrescar contador de Total. // Si es null Product ser 0. float paying; if (selProd == null) { paying = 0; } else { paying = selProd.ProdPrice; } float discounting = selDisc.PricePerc; float result = paying - (paying * discounting / 100); (auxDT.FindName("Discounted", (ContentPresenter)FormGrid.Children[0]) as TextBox).Text = discounting.ToString(); (auxDT.FindName("TotalCost", (ContentPresenter)FormGrid.Children[0]) as TextBlock).Text = "Total: " + result + "€"; }
private void edit_Click(object sender, RoutedEventArgs e) { DataGridRow dgRow = (DataGridRow)(gridClubMember.ItemContainerGenerator.ContainerFromItem(gridClubMember.SelectedItem)); ClubMember selectedClub = gridClubMember.Items[gridClubMember.SelectedIndex] as ClubMember; if (dgRow == null) { return; } DataGridDetailsPresenter dgdPresenter = FindVisualChild <DataGridDetailsPresenter>(dgRow); DataTemplate template = dgdPresenter.ContentTemplate; TextBox textBoxFName = (TextBox)template.FindName("editFirstName", dgdPresenter); TextBox textBoxLName = (TextBox)template.FindName("editLastName", dgdPresenter); if (whoUse.Hierarchy == Hierarchy.Clubmember || whoUse.Hierarchy == Hierarchy.Customer || whoUse.Hierarchy == Hierarchy.Worker) { textBoxFName.IsReadOnly = true; textBoxLName.IsReadOnly = true; MessageBox.Show("You are not allowed to edit this field"); } else { if (textBoxFName == null || textBoxLName == null) { MessageBox.Show("you have to write somthing"); } else { if (textBoxFName.Text.Length < 1) { throw new Exception("Invalid First Name, Must Have Atleast One Character"); } selectedClub.FirstName = textBoxFName.Text; if (textBoxLName.Text.Length < 1) { throw new Exception("Invalid Last Name, Must Have Atleast One Character"); } selectedClub.LastName = textBoxLName.Text; try { itsBL.edit(selectedClub); itsBL.saveDataToFile(); MessageBox.Show("Changes have been done"); dgRow.DetailsVisibility = Visibility.Collapsed; gridClubMember.Items.Refresh(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
private void AnimateCurrentItem(int currIndex) { Console.WriteLine("AnimateCurreintItem, currIndex: " + currIndex); var gen = listViewCombined.ItemContainerGenerator; var obj = (gen.ContainerFromItem(listViewCombined.Items[currIndex])); if (obj != null) { ListViewItem myListBoxItem = (ListViewItem)obj; ContentPresenter myContentPresenter = FindVisualChild <ContentPresenter>(myListBoxItem); DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; Image promptImage = (Image)myDataTemplate.FindName("PromptImage", myContentPresenter); Image targetImage = (Image)myDataTemplate.FindName("TargetImage", myContentPresenter); this.UnregisterName(listViewCombined.Name); this.UnregisterName(promptImage.Name); this.UnregisterName(targetImage.Name); this.RegisterName(listViewCombined.Name, listViewCombined); this.RegisterName(promptImage.Name, promptImage); this.RegisterName(targetImage.Name, targetImage); DoubleAnimation promptAni = new DoubleAnimation(); promptAni.From = 1; promptAni.To = 0; promptAni.Duration = new Duration(TimeSpan.FromMilliseconds(4000)); sbPrompt = new Storyboard(); sbPrompt.Children.Add(promptAni); Storyboard.SetTargetName(promptAni, promptImage.Name); Storyboard.SetTargetProperty(promptAni, new PropertyPath(Image.OpacityProperty)); DoubleAnimationUsingKeyFrames targetAni = new DoubleAnimationUsingKeyFrames(); var kf1 = new DiscreteDoubleKeyFrame(0.25, KeyTime.FromTimeSpan(TimeSpan.FromSeconds(0))); var kf2 = new DiscreteDoubleKeyFrame(1, KeyTime.FromTimeSpan(TimeSpan.FromSeconds(2))); var kf3 = new DiscreteDoubleKeyFrame(0.25, KeyTime.FromTimeSpan(TimeSpan.FromSeconds(4))); targetAni.KeyFrames.Add(kf1); targetAni.KeyFrames.Add(kf2); targetAni.KeyFrames.Add(kf3); if (sbTarget != null) { sbTarget.Completed -= Storyboard_Completed_1; } sbTarget = new Storyboard(); sbTarget.Completed += Storyboard_Completed_1; sbTarget.Children.Add(targetAni); Storyboard.SetTargetName(targetAni, targetImage.Name); Storyboard.SetTargetProperty(targetAni, new PropertyPath(Image.OpacityProperty)); sbPrompt.Begin(this, true); sbTarget.Begin(this, true); } else { ; } }
private void queryDataGrid_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { if (cellText == null) { return; } int row = e.Row.GetIndex(); if (e.EditingElement is ContentPresenter) { string newValue = ""; ContentPresenter cp = (ContentPresenter)e.EditingElement; DataTemplate temp = cp.ContentTemplate; Image img = temp.FindName("image", cp) as Image; if (img != null) { newValue = img.Source == null ? "" : img.Source.ToString(); } else { DatePicker dp = temp.FindName("datepicker", cp) as DatePicker; if (dp != null) { newValue = dp.Text; } } if (!cellText.Equals(newValue) && !rowsChanged.Contains(row)) { rowsChanged.AddLast(row); } } else if (e.EditingElement is TextBox) { var t = e.EditingElement as TextBox; if (!t.Text.Equals(cellText) && !rowsChanged.Contains(row)) { rowsChanged.AddLast(row); } } else if (e.EditingElement is ComboBox) { var box = e.EditingElement as ComboBox; if (!cellText.Equals(box.Text) && !rowsChanged.Contains(row)) { rowsChanged.AddLast(row); } } }
/// <summary> /// Return editor for the column. /// </summary> public MyEdit GetEditor(int viewColumnId, int columnId, bool isInlineNote) { GridViewRowPresenter rowPresenter = GetTemplateChild("PART_Header") as GridViewRowPresenter; if (rowPresenter == null) { return(null); } DataTemplate dataTemplate = rowPresenter.Columns[viewColumnId].CellTemplate; ContentPresenter contentPresenter = GetContentPresenter(rowPresenter, columnId); if (contentPresenter == null) { return(null); } try { var contentControl = dataTemplate.FindName("PART_ContentControl", contentPresenter) as ContentControl; if (contentControl == null) { var edit = dataTemplate.FindName("PART_MyEdit", contentPresenter); return(edit as MyEdit); } else { DataTemplate contentControlTemplate = contentControl.ContentTemplate; ContentPresenter presenter = VisualTreeHelper.GetChild(contentControl, 0) as ContentPresenter; object ed; if (isInlineNote) { ed = contentControlTemplate.FindName("PART_InlineEdit", presenter); } else { ed = contentControlTemplate.FindName("PART_MyEdit", presenter); } return(ed as MyEdit); } } catch { return(null); } }
public static UIElement GetChildFromListBoxItem <UIElement>(ListBoxItem listBoxItem, string elementNameToFind) { ContentPresenter contentpresenter = FindVisualChild <ContentPresenter>(listBoxItem); DataTemplate dataTemplate = contentpresenter.ContentTemplate; return((UIElement)dataTemplate.FindName(elementNameToFind, contentpresenter)); }
public MainWindow() { InitializeComponent(); for (int i = 0; i < 20; i++) { MyListbox.Items.Add("items" + i); } var fStack = new FrameworkElementFactory(typeof(StackPanel), "tStack"); var fBorder = new FrameworkElementFactory(typeof(Border), "tBoder"); fBorder.SetValue(Border.BackgroundProperty, new SolidColorBrush(Colors.Red)); fBorder.SetValue(Border.WidthProperty, 20.0); fBorder.SetValue(HeightProperty, 20.0); fStack.AppendChild(fBorder); var dt = new DataTemplate(typeof(StackPanel)); dt.VisualTree = fStack; MyListbox.ItemTemplate = dt; var neko = MyListbox.ApplyTemplate(); var ts = dt.FindName("tStack", MyListbox); LayoutUpdated += MainWindow_LayoutUpdated; Loaded += MainWindow_Loaded; }
private void Cv_Selected(object sender, RoutedEventArgs e) { CoverViewItem selectedCover = sender as CoverViewItem; ContentPresenter myContentPresenter = FindVisualChild <ContentPresenter>(selectedCover); DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; Image selectedImg = (Image)myDataTemplate.FindName("ImageHeader", myContentPresenter); ShellFile file = ShellFile.FromFilePath(selectedImg.Tag.ToString()); try { string country = string.Empty; if (file.Properties.System.Keywords.Value[1].Equals("Empty")) { country = "Location Unknown"; } else { country = file.Properties.System.Keywords.Value[1]; } shTitle.Status = file.Properties.System.Title.Value; shSubject.Status = file.Properties.System.Subject.Value; shCountry.Status = country; shCity.Status = file.Properties.System.Keywords.Value[0]; shGallery.Status = file.Properties.System.Comment.Value; shDate.Status = file.Properties.System.Keywords.Value[9] ?? file.Properties.System.Keywords.Value[8]; } catch (IndexOutOfRangeException) { } }
private string GetDisplayHomes() { string tempid = ""; var itemsSource = dataGridHome.ItemsSource as IEnumerable; if (itemsSource != null) { foreach (var item in itemsSource) { var row = dataGridHome.ItemContainerGenerator.ContainerFromItem(item) as Microsoft.Windows.Controls.DataGridRow; ContentPresenter contentPresenter = dataGridHome.Columns[0].GetCellContent(row) as ContentPresenter; DataTemplate editingTemplate = contentPresenter.ContentTemplate; CheckBox chk = editingTemplate.FindName("chkSelected3", contentPresenter) as CheckBox; TextBlock tx = dataGridHome.Columns[1].GetCellContent(row) as TextBlock; if ((bool)chk.IsChecked) { if (tempid == "") { tempid = tx.Text.Trim(); } else { tempid = tempid + "," + tx.Text.Trim(); } } } } return(tempid); }
private void btnSearchDisplayHome_Click(object sender, RoutedEventArgs e) { string tempid = "0"; var itemsSource = dataGrid1.ItemsSource as IEnumerable; if (itemsSource != null) { foreach (var item in itemsSource) { var row = dataGrid1.ItemContainerGenerator.ContainerFromItem(item) as Microsoft.Windows.Controls.DataGridRow; ContentPresenter contentPresenter = dataGrid1.Columns[0].GetCellContent(row) as ContentPresenter; DataTemplate editingTemplate = contentPresenter.ContentTemplate; CheckBox chk = editingTemplate.FindName("chkSelected", contentPresenter) as CheckBox; if ((bool)chk.IsChecked) { TextBlock tx = dataGrid1.Columns[1].GetCellContent(row) as TextBlock; tempid = tx.Text; break; } } } cr.LoadDisplayHome(loginstateid.ToString(), cmbBrand.SelectedValue.ToString(), tempid, txtHomeName.Text, txtSuburb.Text); if (cr.SQSDisplayHome.Count == 0) { txtNoRecord.Visibility = Visibility.Visible; } else { txtNoRecord.Visibility = Visibility.Collapsed; } }
private void Item_Checked(object sender, RoutedEventArgs e) { if (e.Source is RadioButton) { object selected = this.GetType().GetField((e.Source as RadioButton).Content.ToString(), System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(this); this.PropertyGrid1.SelectedObject = selected; } else if (e.Source is CheckBox && this.Radio2.IsChecked.GetValueOrDefault()) { ArrayList selected = new ArrayList(); for (int i = 0; i < ItemList.Items.Count; i++) { ContentPresenter container = ItemList.ItemContainerGenerator.ContainerFromIndex(i) as ContentPresenter; DataTemplate dataTemplate = container.ContentTemplate; CheckBox chk = (CheckBox)dataTemplate.FindName("chk", container); if (chk.IsChecked.GetValueOrDefault()) { object item = this.GetType().GetField(chk.Content.ToString(), System.Reflection.BindingFlags.GetField | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic).GetValue(this); selected.Add(item); } } this.PropertyGrid1.SelectedObjects = selected.ToArray(); } }
private static IList <CheckBox> GetAllCheckBoxes(ListBox listBox, string checkBoxName) { IList <CheckBox> checkBoxes = new List <CheckBox>(); for (int i = 0; i < listBox.Items.Count; i++) { ListBoxItem listBoxItem = (ListBoxItem)listBox .ItemContainerGenerator.ContainerFromIndex(i); if (listBoxItem == null) { continue; } ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(listBoxItem); DataTemplate dataTemplate = contentPresenter.ContentTemplate; CheckBox checkBox = (CheckBox)dataTemplate.FindName(checkBoxName, contentPresenter); checkBoxes.Add(checkBox); } return(checkBoxes); }
//------------------------------------------------------------------------------------------------------------------- private void ScrollIntoView() { tcList.ApplyTemplate(); DataTemplate myDataTemplate = tcList.ContentTemplate; ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(tcList); try { DataGrid dg = myDataTemplate.FindName("dbTracks", contentPresenter) as DataGrid; IPlayerActionQueriable playerAction = DataContext as IPlayerActionQueriable; if (dg != null && playerAction != null) { int idx = playerAction.TrackByList(dg.DataContext); if (idx >= 0) { dg.ScrollIntoView(dg.Items[idx]); dg.SelectedIndex = idx; Keyboard.Focus(dg); // ContentPresenter cp = dg.ItemContainerGenerator.ContainerFromItem(dg.Items[idx]) as ContentPresenter; //// TextBox tb = FindVisualChild<TextBox>(cp); // TextBlock tb = dg.ItemTemplate.FindName("tbFileName", cp) as TextBlock; // if (tb != null) // { // // do something with tb // } } } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } }
/// <summary> /// permet d'obtenir un contrôle combobox contenue dans un lisboxitem /// </summary> /// <param name="nameComboBox">nom de la combobox à chercher</param> /// <param name="item">ListboxItem parent de la combobox </param> /// <returns></returns> private ComboBox GetComboBoxFromTaskBoxItem(string nameComboBox, ListBoxItem item) { ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(item); DataTemplate dataTemplate = contentPresenter.ContentTemplate; return((ComboBox)dataTemplate.FindName(nameComboBox, contentPresenter)); }
private void ListBoxPreviewKeyUp(object sender, KeyEventArgs e) { if (e.Key != Key.F2) { return; } var listbox = GetVisualParent <ListBox>((DependencyObject)sender); if (listbox == null) { return; } ListBoxItem item = listbox.ItemContainerGenerator.ContainerFromIndex(listbox.SelectedIndex) as ListBoxItem; if (item != null) { // Get the item's template parent ContentPresenter templateParent = GetFrameworkChild <ContentPresenter>(item); DataTemplate dataTemplate = listbox.ItemTemplate; if (dataTemplate != null && templateParent != null) { var ec = dataTemplate.FindName("editable_control", templateParent) as EditableControl; if (ec == null) { return; } ec.IsEditing = true; e.Handled = true; } } }
T findComponentFromTemplate <T>(Fotografia f, string nomeComponente) { // Per ricavare il componente desiderato, devo fare diversi passaggi // 2. dalla foto ricavo il ListBoxItem che la contiene ContentPresenter contentPresenter; var test = itemsControl.ItemContainerGenerator.ContainerFromItem(f); if (test is ContentControl) { // 3. dal ListBoxItem ricavo il suo ContentPresenter ContentControl listBoxItem = (ContentControl)test; contentPresenter = AiutanteUI.FindVisualChild <ContentPresenter>(listBoxItem); } else { // IL componente è già avvolto direttamente nel presenter contentPresenter = (ContentPresenter)test; } // 4. con il ContentPresenter ricavo il DataTemplate (del singolo elemento) DataTemplate dataTemplate = contentPresenter.ContentTemplate; // 5. con il DataTemplate ricavo l'Image contenuta return((T)dataTemplate.FindName(nomeComponente, contentPresenter)); }
private void MoveHighlight(IEasingFunctionDefinition targetFunction, int buttonNumber) { if (targetFunction == null) { return; } ComboBoxItem comboBoxItem = (ComboBoxItem)this.ItemContainerGenerator.ContainerFromItem((object)targetFunction); if (comboBoxItem == null) { return; } ContentPresenter contentPresenter = Enumerable.FirstOrDefault <ContentPresenter>(Enumerable.OfType <ContentPresenter>(ElementUtilities.GetVisualTree((Visual)comboBoxItem))); DataTemplate contentTemplate = contentPresenter.ContentTemplate; if (buttonNumber < 0 || buttonNumber >= this.buttonOrder.Count) { return; } EasingFunctionSelectionButton functionSelectionButton = contentTemplate.FindName(this.buttonOrder[buttonNumber].ToString() + "Button", (FrameworkElement)contentPresenter) as EasingFunctionSelectionButton; if (functionSelectionButton == null) { return; } this.LastHighlightedButton = functionSelectionButton; }
private static IList <RvtSchedule> GetSelectedSchedules(ListBox listBox, string checkBoxName) { IList <RvtSchedule> pickedSchedules = new List <RvtSchedule>(); for (int i = 0; i < listBox.Items.Count; i++) { ListBoxItem listBoxItem = (ListBoxItem)listBox .ItemContainerGenerator.ContainerFromIndex(i); if (listBoxItem == null) { continue; } ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(listBoxItem); DataTemplate dataTemplate = contentPresenter.ContentTemplate; CheckBox checkBox = (CheckBox)dataTemplate.FindName(checkBoxName, contentPresenter); if ((bool)checkBox.IsChecked) { pickedSchedules.Add((RvtSchedule)listBox.Items[i]); } } return(pickedSchedules); }
//---------------------------------------------------------------------------------------------------------------------- private void TcList_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { return; tcList.ApplyTemplate(); DataTemplate myDataTemplate = tcList.ContentTemplate; ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(tcList); try { DataGrid dg = myDataTemplate.FindName("dbTracks", contentPresenter) as DataGrid; IPlayerActionQueriable playerAction = DataContext as IPlayerActionQueriable; if (dg != null && playerAction != null) { int idx = playerAction.TrackByList(dg.DataContext); if (idx >= 0) { dg.ScrollIntoView(dg.Items[idx]); dg.SelectedIndex = idx; //dg.SelectedItems.Clear(); //dg.SelectedItems.Add(item); } } } catch { } }
private void ContextMenuListView_SelectionChanged(object sender, SelectionChangedEventArgs e) { var listView = sender as ListView; if (listView.SelectedItem != null) { ListBoxItem listBoxItem = (ListBoxItem)listView.ItemContainerGenerator.ContainerFromItem(listView.SelectedItem); if (listBoxItem != null) { ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(listBoxItem); DataTemplate dataTemplate = contentPresenter.ContentTemplate; Button button = (Button)dataTemplate.FindName("commandButton", contentPresenter); ToolTip tooltip = button.ToolTip as ToolTip; tooltip.PlacementTarget = button; tooltip.Placement = System.Windows.Controls.Primitives.PlacementMode.Right; tooltip.PlacementRectangle = new Rect(0, button.Height, 0, 0); tooltip.IsOpen = true; } else { HideCurrentToolTip(); } } else { HideCurrentToolTip(); } }
private void WirteModFile(PdxMod pdxMod) { var filePath = ModGlobalData.MOD_PATH_ROOT + pdxMod.Directory + ".mod"; File.WriteAllText(filePath, pdxMod.ToString()); var descriptorMod = pdxMod.Clone(); descriptorMod.Directory = ""; var descriptorPath = ModGlobalData.MOD_PATH_ROOT + pdxMod.Directory + @"\descriptor.mod"; File.WriteAllText(descriptorPath, descriptorMod.ToString()); ListBoxItem listBoxItem = (ListBoxItem)(listView.ItemContainerGenerator.ContainerFromIndex(listView.SelectedIndex)); ContentPresenter contentPresenter = FindVisualChild <ContentPresenter>(listBoxItem); DataTemplate dataTemplate = contentPresenter.ContentTemplate; Image target = (Image)dataTemplate.FindName("listImageView", contentPresenter); target.GetBindingExpression(Image.SourceProperty).UpdateTarget(); if (!Directory.Exists(ModGlobalData.MOD_PATH_ROOT + CurrentMod.Directory)) { Directory.CreateDirectory(ModGlobalData.MOD_PATH_ROOT + CurrentMod.Directory); } if (!CurrentMod.Picture.Equals("thumbnail.png")) { File.Copy(CurrentMod.Picture, ModGlobalData.MOD_PATH_ROOT + CurrentMod.Directory + "\\thumbnail.png", true); } }
private void ListBoxItem_Remove_Click(object sender, RoutedEventArgs e) { //MessageBox.Show("Remove"); ObservableCollection <ScreenItem> test = this.DataContext as ObservableCollection <ScreenItem>; object ob = this.listbox.SelectedItem; if (ob == null) { MessageBox.Show("请选择一个屏幕"); return; } //Countries.countries.Add(new Country { Name = "YI", ImagePath = @"C:\Users\Yi\Desktop\WPFPicture\icon\tv.png" }); ListBoxItem item = (ListBoxItem)(this.listbox.ItemContainerGenerator.ContainerFromItem(ob)); ContentPresenter myContentPresenter = FindVisualChild <ContentPresenter>(item); DataTemplate myDataTemplate = myContentPresenter.ContentTemplate; TextBlock myTextBlock = (TextBlock)myDataTemplate.FindName("textBlock", myContentPresenter); if (test.Contains(new ScreenItem { Name = myTextBlock.Text, ImagePath = "/styles/skin/item/item_tv.png" })) { test.Remove(new ScreenItem { Name = myTextBlock.Text, ImagePath = "/styles/skin/item/item_tv.png" }); UserScreenConfig.RemoveScreen(myTextBlock.Text); } //test.Remove(); Console.WriteLine("Remove"); }
private async void EditarCeldaEndingUsuario(DataGridCellEditEndingEventArgs e) { if (e.EditAction == DataGridEditAction.Commit) { var usuarioSeleccionado = e.Row.DataContext as Usuario; if (e.Column.DisplayIndex == 1) // 1 = Posición columna contraseña { ContentPresenter contentPresenter = e.EditingElement as ContentPresenter; DataTemplate editingTemplate = contentPresenter.ContentTemplate; PasswordBox contrasena = editingTemplate.FindName("pbContrasena", contentPresenter) as PasswordBox; string hashContrasena = ContrasenaHashing.ObtenerHashSHA256(ContrasenaHashing.SecureStringToString(contrasena.SecurePassword)); usuarioSeleccionado.Contrasena = hashContrasena; } // Comprueba si se va a baneado al admin que haya a menos otro admin activo if (usuarioSeleccionado.TipoUsuario.TipoUsuarioId == 1 && usuarioSeleccionado.Baneado == true && !context.Usuarios.Any(u => u.TipoId == 1 && u.Baneado != false && u.UsuarioId != usuarioSeleccionado.UsuarioId)) { usuarioSeleccionado.Baneado = false; await DialogHost.Show(new MensajeInformacion() { Mensaje = "No se puede banear el usuario ya que al menos tiene que haber un admin activo." }, "RootDialog"); } context.SaveChanges(); if (e.Column.DisplayIndex == 3) // 3 = Posición columna tipo usuario { ContadorViewModel.Tipos = new ObservableCollection <TipoUsuario>(context.TiposUsuarios.ToList()); } } }