c# – Silverlight中的条件样式?

栏目: ASP.NET · 发布时间: 5年前

内容简介:我所遇到的问题是,每个链接都被弄脏了.一个红色,一个蓝色,一个绿色等有没有一种方法来样式这些项目,而不牺牲使用数据模板的项目控件的动态?http://stackoverflow.com/questions/3034261/conditional-styling-in-silverlight

我所遇到的问题是,每个链接都被弄脏了.一个红色,一个蓝色,一个绿色等有没有一种方法来样式这些项目,而不牺牲使用数据模板的项目控件的动态?

我已经使用一个简单的转换器在视图模型的属性,例如让我们说你有一个布尔属性,你想要控制一个风格,你可以做到这一点.

public class BoolToStyleConverter : IValueConverter
{
    public Style TrueStyle{ get; set; }
    public Style FalseStyle{ get; set; }
    #region IValueConverter Members

    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        return ((bool)value) ? TrueStyle : FalseStyle;
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }

    #endregion
}

那么作为一种资源,你可以定义你的两种风格

<common:BoolToStyleConverter x:Key="BoldTextConverter">
        <common:BoolToStyleConverter.TrueStyle>
            <Style TargetType="TextBlock">
                <Setter Property="FontWeight"
                        Value="Bold"></Setter>
            </Style>
        </common:BoolToStyleConverter.TrueStyle>
        <common:BoolToStyleConverter.FalseStyle>
            <Style TargetType="TextBlock">
                <Setter Property="FontWeight"
                        Value="Normal"></Setter>
            </Style>
        </common:BoolToStyleConverter.FalseStyle>
    </common:BoolToStyleConverter>

那么你可以将它应用到你的对象这样…

<TextBlock Text="{Binding Description}"
           Margin="20,4,4,4"
           Style="{Binding IsConfirmed, Converter={StaticResource BoldTextConverter}}"></TextBlock>

其中IsConfirmed是viewmodel上的布尔属性,如果IsConfirmed属性更改,这也将保持同步的样式.

如果要使用比布尔更复杂的条件,您可以随时在转换器中创建一个对象到“样式”的字典,然后让转换器进行查找,但是我发现通常布尔工作在大多数情况下.

http://stackoverflow.com/questions/3034261/conditional-styling-in-silverlight


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

长尾理论

长尾理论

[美]克里斯•安德森 (Chris Anderson) / 乔江涛、石晓燕 / 中信出版社 / 2012 / 68.00元

网络经济正如火如荼地发展着,长尾理论无疑成为当代商务人士最为关注的焦点之一。不论是关于长尾理论的溢美还是论战,都代表了其备受关注的程度。 《长尾理论》是克里斯•安德森对这些争论的最明确的回答。在书中,他详细阐释了长尾的精华所在,指出商业和文化的未来不在于传统需求曲线上那个代表“畅销商品”的头部,而是那条代表“冷门商品”的经常被人遗忘的长尾。他还揭示了长尾现象是如何从工业资本主义原动力——规模......一起来看看 《长尾理论》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具