none
Bug lors de la selection d'un Tab RRS feed

  • Discussion générale

  • Bonjour à tous.

    Je travaille sur une Application WPF, avec le Framework 4.0.

    Dans mon application, j'ai un TabControl contenant deux Tabs => Tab1, Tab2.

    Tab1 : se trouve un DataGrid avec IsReadOnly = true.

    Tab2 : se trouve différentes vues.

    Ce que j'essaye de faire est très simple en théorie :

    Je veux sélectionner/afficher Tab2 lorsque je double click sur une ligne de mon Datagrid dans Tab1.

    Or ceci ne fonctionne absolument pas,

    en ajoutant une MessageBox dans le code du

    DataGrid_MouseDoubleClick

    j'ai pu voir que mon Tab2 s'affiche, mais qu'après Tab1 revient en selection.

    Ce qui est bizarre, c'est que je parvient à réaliser un changement de Tab, quand la propriété de mon Datagrid IsReadOnly = false, mais cela ne me convient pas, car je ne veux pas clicker 4 fois pour changer de Tab.

    J'ai essayer beaucoup de chose, comme les méthodes focus(), bringIntoView(), j'ai essayer de jouer avec la propriété IsReadOnly du Datagrid, mais sans succès.

    Voici le code utilisé pour DataGrid_MouseDoubleClick

     

    private

    voidMasterDataGrid_MouseDoubleClick(objectsender, MouseButtonEventArgse)

            {

                MasterDataGrid.IsReadOnly =

    false;

               

    IInputElementelement = e.MouseDevice.DirectlyOver;

               

    if(element != null&& element isFrameworkElement)

                {

                   

    if(((FrameworkElement)element).Parent isDataGridCell)

                    {

                       

    vargrid = sender asDataGrid;

                       

    if(grid != null&& grid.SelectedItems != null&& grid.SelectedItems.Count == 1)

                        {

                           

    varrowView = grid.SelectedItem asDataRowView;

                           

    if(rowView != null)

                            {

                               

    //DataRow row = rowView.Row;


                                MainTabControl.SelectedItem = Tab2;

                                Tab1.IsSelected =

    false;

                             

    //MessageBox.Show("stuff");

                                Tab2.IsSelected =

    true;

     

                            }

                        }

                    }

                }

            }

    Merci.

     

     

    • Déplacé Aurel Bera lundi 21 octobre 2013 08:34 onTopic
    • Type modifié Aurel Bera jeudi 24 octobre 2013 08:13 Discussion
    jeudi 17 octobre 2013 09:50

Toutes les réponses