Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
5520
Conditional Formatting
posted

hi

i am using the following code to apply conditional formatting on selected columns.

it's always hiding the values of the cells (that meet the condition) .

i set the r.CellValueVisibility =  System.Windows.Visibility.Visible; but the same problem.

 

ContainingConditionalFormatRule r = new ContainingConditionalFormatRule();

                r.CellValueVisibility =  System.Windows.Visibility.Visible;

                r.StyleScope = StyleScope.Cell;

                r.ShouldRefreshOnDataChange = true;

 

            Style s = new Style(typeof(CellControl));

            FontWeight fw = format.P_IsBold?FontWeights.Bold:FontWeights.Normal;

            FontStyle fs = format.P_IsItalic?FontStyles.Italic:FontStyles.Normal;

            s.Setters.Add(new Setter(FontFamilyProperty,format.P_FontName));

            s.Setters.Add(new Setter(FontSizeProperty,format.P_FontSize));

            s.Setters.Add(new Setter(BackgroundProperty,format.P_BackColor));

            s.Setters.Add(new Setter(ForegroundProperty,format.P_ForeColor));

            s.Setters.Add(new Setter(FontWeightProperty,fw));

            s.Setters.Add(new Setter(FontStyleProperty,fs));

            r.StyleToApply = s;

            r.Value = "Ame";

           foreach (Column col in XamMainGrid.SelectionSettings.SelectedColumns)

           {

               col.ConditionalFormatCollection.Add(r);

           }

Parents
  • 6912
    Verified Answer
    posted

    Hi,

    Could you try the following snippet?

    ...
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        foreach (Column col in XGrid.SelectionSettings.SelectedColumns)
        {
            col.ConditionalFormatCollection.Add(this.RuleFactory());
        }
    }
    
    private ConditionalFormattingRuleBase RuleFactory()
    {
        ContainingConditionalFormatRule r = new ContainingConditionalFormatRule();
        r.ShouldRefreshOnDataChange = true;
    
        Style s = new Style(typeof(ConditionalFormattingCellControl));
        s.Setters.Add(new Setter(ConditionalFormattingCellControl.FontFamilyProperty, new FontFamily("MS UI Gothic")));
        s.Setters.Add(new Setter(ConditionalFormattingCellControl.FontSizeProperty, 15.0));
        s.Setters.Add(new Setter(ConditionalFormattingCellControl.BackgroundProperty, new SolidColorBrush(Colors.Red)));
        s.Setters.Add(new Setter(ConditionalFormattingCellControl.AltBackgroundProperty, new SolidColorBrush(Colors.Red)));
        s.Setters.Add(new Setter(ConditionalFormattingCellControl.ForegroundProperty, new SolidColorBrush(Colors.Yellow)));
        s.Setters.Add(new Setter(ConditionalFormattingCellControl.FontWeightProperty, FontWeights.Bold));
        r.StyleToApply = s;
    
        r.Value = "Str";
    
        return r;
    }
    ...

    Note that a new rule is created for each column. The TargetType of the Style is ConditionalFormattingCellControl and the DependencyProperties used in the setters are the DPs of the ConditionalFormattingCellControl.

    HTH

Reply Children
No Data