【问题标题】:wpf style basedon in behind code基于后台代码的 wpf 样式
【发布时间】:2017-07-26 02:26:46
【问题描述】:

如何在后台代码 (WPF) 中设置 Style basedOn ? 请帮我 ... 我的代码不起作用... 错误 ==> 使用“SetterBaseCollection”后无法修改。 这是我的部分代码。

public Style SettingStyle(Style sty, double fs)
    {
        Style baseStyle = new Style(sty.TargetType);

        Style newStyle = Application.Current.TryFindResource(sty.TargetType) as Style;
       // Style newStyle = new Style();
       // newStyle.BasedOn = new Style(newStyle.TargetType, baseStyle);
        newStyle.Setters.Add(new Setter(Control.FontSizeProperty, fs));
        if (newStyle.Setters.Count > 1)
        {
            newStyle.Setters.Add(sty.Setters[1]);
            newStyle.Setters.Add(sty.Setters[2]);
            if (newStyle.Setters.Count > 3)
            {
                newStyle.Setters.Add(sty.Setters[3]);
            }
        }

        return newStyle;
    }

【问题讨论】:

    标签: wpf styles basedon


    【解决方案1】:

    您可以将baseStyle 设置为属性或通过构造函数:

    newStyle.BasedOn = baseStyle;
    

    Style newStyle = new Style(targetType, baseStyle); 
    

    你的情况可能

        public Style SettingStyle(Style sty, double fs)
        {
            // Return a base type for "TargetType"
            Style baseStyle = Application.Current.TryFindResource(sty.TargetType) as Style;
    
            Style newStyle = new Style(sty.TargetType, baseStyle); 
    
            newStyle.Setters.Add(new Setter(Control.FontSizeProperty, fs));
    
            return newStyle;
        }
    

        public Style SettingStyle(Style sty, double fs)
        {
            //Use style passed to the function(sty) as a baseStyle for new style 
            Style newStyle = new Style(sty.TargetType, sty); 
    
            newStyle.Setters.Add(new Setter(Control.FontSizeProperty, fs));
    
            return newStyle;
        }
    

    这取决于你到底想达到什么目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多