/// <summary>
        /// Permet de refermer une ligne encliquant dessus
        /// Le fait de vérifier le parent résoud un problème de comportement
        /// de clic dans le rowDetailTemplate qui declenche l'évènement
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void GrdLignes_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (e.OriginalSource != null)
            {
                var c = FindParent <DataGridCell>(e.OriginalSource as DependencyObject);

                if (c != null)
                {
                    Visibility newVis = GrdLignes.GetDetailsVisibilityForItem(GrdLignes.SelectedItem) == Visibility.Visible
                        ? Visibility.Collapsed
                        : Visibility.Visible;

                    GrdLignes.Items.Cast <Ligne>().ToList().ForEach((l) => GrdLignes.SetDetailsVisibilityForItem(l, l == GrdLignes.SelectedItem ? newVis : Visibility.Collapsed));
                }
            }
        }
Exemplo n.º 2
0
        private void doFocus(string msg)
        {
            switch (msg)
            {
            case "GencodEmpl":
                this.GencodEmpl.Focus();
                break;

            case "GencodArt":
                this.GencodArt.Focus();
                break;

            case "ScrollToSelectedItem":
                GrdLignes.UpdateLayout();
                GrdLignes.ScrollIntoView(GrdLignes.SelectedItem);
                break;

            default:
                break;
            }
        }