コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
 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;
             };
         }
     }
 }
コード例 #3
0
 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;
     }
 }
コード例 #4
0
        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;
                    }
                }
            }
        }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: amolrbhagwat/dbn
        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();
            }
        }
コード例 #6
0
ファイル: Order.xaml.cs プロジェクト: hauphan15/QuanCafe
        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;
            }
        }
コード例 #7
0
        // 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()));
                }
            }
        }
コード例 #8
0
        /// <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 + "€";
        }
コード例 #9
0
ファイル: ClubMemberT.xaml.cs プロジェクト: Landy-man/Intro
        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);
                    }
                }
            }
        }
コード例 #10
0
    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
        {
            ;
        }
    }
コード例 #11
0
        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);
                }
            }
        }
コード例 #12
0
        /// <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);
            }
        }
コード例 #13
0
        public static UIElement GetChildFromListBoxItem <UIElement>(ListBoxItem listBoxItem, string elementNameToFind)
        {
            ContentPresenter contentpresenter = FindVisualChild <ContentPresenter>(listBoxItem);
            DataTemplate     dataTemplate     = contentpresenter.ContentTemplate;

            return((UIElement)dataTemplate.FindName(elementNameToFind, contentpresenter));
        }
コード例 #14
0
        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;
        }
コード例 #15
0
ファイル: MainWindow.xaml.cs プロジェクト: ghost1372/ArtWork
        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)
            {
            }
        }
コード例 #16
0
        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);
        }
コード例 #17
0
        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;
            }
        }
コード例 #18
0
ファイル: MainWindow.xaml.cs プロジェクト: ByeongOk/oktest
        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();
            }
        }
コード例 #19
0
        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);
        }
コード例 #20
0
        //-------------------------------------------------------------------------------------------------------------------
        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());
            }
        }
コード例 #21
0
        /// <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));
        }
コード例 #22
0
        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;
                }
            }
        }
コード例 #23
0
        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));
        }
コード例 #24
0
        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;
        }
コード例 #25
0
        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);
        }
コード例 #26
0
        //----------------------------------------------------------------------------------------------------------------------
        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
            {
            }
        }
コード例 #27
0
        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();
            }
        }
コード例 #28
0
        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);
            }
        }
コード例 #29
0
        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");
        }
コード例 #30
0
        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());
                }
            }
        }