如何缩写silverlight中datagrid中列值的首字母缩写?

时间:2010-12-22 11:57:33

标签: silverlight silverlight-4.0

这里在我的datagrid中有一个列为“Type”。在该列中,绑定值将为“I”或“E”,同样将显示。我需要将列值作为“内部” 'I'和'外部'代表'E'。下面是该列的代码示例

 <sdk:DataGridTextColumn Header="Transfer Type" Binding="{Binding Type}"  />

1 个答案:

答案 0 :(得分:0)

您需要创建一个值转换器。这种事情需要很多,所以我更喜欢一般的转换器,而不是创建一个特定的转换器。从这个博客获取cut'n'paste“StringToObjectConverter”的代码:Yet another blog about IValueConverter

在项目中将此转换器放在默认命名空间(我们通过约定映射到本地:别名),您现在可以将实例添加到UserControl / Page中的资源: -

    <UserControl.Resources>
        <local:StringToObjectConverter x:Key="TypeFieldConverter">
            <ResourceDictionary>
                <sys:String x:Key="I">Internal</sys:String>
                <sys:String x:Key="E">External</sys:String>
            </ResourceDictionary>
        </local:StringToObjectConverter>
    </UserContro.Resources>

注意还有另一个sys:别名需要

  

的xmlns:SYS = “CLR-命名空间:系统;装配= mscorlib程序”

现在您可以将转换器分配给绑定: -

<sdk:DataGridTextColumn Header="Transfer Type" Binding="{Binding Type, Converter=TypeFieldConverter}"  />