private static void MyPropertyChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
    {
        if (DesignerProperties.GetIsInDesignMode(d) == true)
        {
            return;
        }
        DataGridTextColumn textColumn = (DataGridTextColumn)d;
        Style textColumnStyle         = e.NewValue as Style;

        foreach (SetterBase setterBase in textColumnStyle.Setters)
        {
            if (setterBase is Setter)
            {
                Setter setter = setterBase as Setter;
                if (setter.Value is BindingBase)
                {
                    //Not done yet..
                }
                else
                {
                    Type         type         = textColumn.GetType();
                    PropertyInfo propertyInfo = type.GetProperty(setter.Property.Name);
                    propertyInfo.SetValue(textColumn, setter.Value, null);
                }
            }
        }
    }
Esempio n. 2
0
 /// <summary>
 /// Convet the window language to the selected language
 /// </summary>
 /// <param name="Frmclass">window object(this)</param>
 public static void Convert(DependencyObject Frmclass)
 {
     //Convert Labels
     try
     {
         foreach (Label lbl in FindVisualChildren <Label>(Frmclass))
         {
             lbl.Content = Global.controller.ConvetLanguage(lbl.Content.ToString(), Global.LanguageFileName);
         }
     }
     catch (Exception)
     { }
     //Convert Buttons
     try
     {
         foreach (Button btn in FindVisualChildren <Button>(Frmclass))
         {
             btn.Content = Global.controller.ConvetLanguage(btn.Content.ToString(), Global.LanguageFileName);
         }
     }
     catch (Exception)
     {}
     //Convert DataGridTemplateColumn
     try
     {
         foreach (DataGrid dgv in FindVisualChildren <DataGrid>(Frmclass))
         {
             int Clm = dgv.Columns.Count();
             for (int i = 0; i <= Clm; i++)
             {
                 DataGridTemplateColumn temp = new DataGridTemplateColumn();
                 DataGridTextColumn     text = new DataGridTextColumn();
                 if (dgv.Columns[i].GetType() == temp.GetType())
                 {
                     DataGridTemplateColumn templClm = (DataGridTemplateColumn)dgv.Columns[i];
                     templClm.Header = Global.controller.ConvetLanguage(templClm.Header.ToString(), Global.LanguageFileName);
                 }
                 else if (dgv.Columns[i].GetType() == text.GetType())
                 {
                     DataGridTextColumn textclm = (DataGridTextColumn)dgv.Columns[i];
                     textclm.Header = Global.controller.ConvetLanguage(textclm.Header.ToString(), Global.LanguageFileName);
                 }
             }
         }
     }
     catch (Exception)
     { }
 }