【问题标题】:Silverlight Datagrid DatabindingSilverlight Datagrid 数据绑定
【发布时间】:2009-11-19 17:35:19
【问题描述】:

我是 Silverlight 的新手,在寻找问题的解决方案时遇到了一些麻烦。

我有一个 3 列的 silverlight 数据网格。其中一列绑定到一个整数。我希望能够将我的列绑定到一个函数,该函数会将我的整数转换为它的状态代码。该函数接受一个整数,并使用 switch 语句返回该数字所代表的字符串。

0 = 不活动
1 = 活动
2 = 待处理
等等

我发现的很多东西都是元素绑定技术,这很酷,但不是我想要的。

【问题讨论】:

    标签: silverlight data-binding


    【解决方案1】:

    您可以创建一个 IValueConverter,让您能够对数据绑定值调用函数。
    你可以自定义 Convert 方法,根据传入的值返回一个字符串:

    public object Convert(object value, Type targetType, object parameter, CultureInfo文化) {
    开关((int)值)
    {
    案例 0:返回“非活动”;
    案例 1:返回“活动”;
    案例 2:返回“待处理”;
    }
    }

    IValueConverter on MSDN
    IValueConverter example in Silverlight

    【讨论】:

      【解决方案2】:

      根据您的架构,我会选择

      1. 像 Phani 建议的那样实现 IValueConverter
      2. 使用模型-视图-视图模型 (MVVM) 模式。在此模式中,绑定所需的任何内容都将在您的视图模型中表示为附加属性。

      所以你会有类似下面的东西

      public class ViewModel:INoftifyPropertyChanged
      {
          private Model _model;
      
          public string StatusCodeName
          {
              get
              {
                  string statusCodeName = SomeCodeToGetStatusCodeNameFromStatus(_model.Status);
                  return statusCodeName;
              }   
          }
      }   
      

      然后你可以绑定到这个属性

      {Binding StatusCodeName}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-13
        • 2014-10-17
        • 2010-11-22
        • 1970-01-01
        • 2011-05-15
        • 2011-08-15
        • 1970-01-01
        相关资源
        最近更新 更多