2009-11-19 99 views
1

我是Silverlight的新手,我在尋找問題的解決方案時遇到了一些麻煩。Silverlight Datagrid Databinding

我有一個silverlight數據網格3列。其中一列被綁定到一個整數。我希望能夠將我的列綁定到將我的整數轉換爲狀態碼的函數。該函數接受一個整數,並使用switch語句返回一個數字表示的字符串。

0 =無效
1 =活動
2 =待定

的很多事我發現已經有元素綁定,這是非常酷的技術,但不是我什麼尋找。

回答

1

您可以創建一個IValueConverter,使您可以調用databound值上的函數。
您可以自定義轉換方法返回基於傳入的值的字符串:

公共對象轉換(對象的值,類型目標類型,目標參數,CultureInfo的文化) {
開關((INT)值)
{
case 0:return「Inactive」;
情況1:返回「活動」;
案例2:返回「待定」;
}
}

IValueConverter on MSDN
IValueConverter example in Silverlight

0

根據您的架構像Phani表明

  • 使用模型 - 視圖 - 視圖模型我要麼

    1. 實現一個的IValueConverter( MVVM)模式。在此模式中,綁定所需的任何內容都將在您的視圖模型中表示爲添加屬性。

    所以你會像下面

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

    然後,您可以綁定到該屬性

    {Binding StatusCodeName}