2018年4月10日 星期二

C# WPF TextBox Binding List

首先建立一個類別叫ListToTextConverter,程式碼如下。

    public class ListToTextConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            StringBuilder sb = new StringBuilder();
            foreach (string s in (List)value)
            {
                if(sb.Length != 0)
                {
                    sb.Append(",");
                }
                sb.Append(s);
            }

            return sb.ToString();
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string[] lines = ((string)value).Split(new string[] { @"\r\n" }, StringSplitOptions.RemoveEmptyEntries);
            return lines.ToList();
        }
    }


建立完成後,在View頁面上加入該類別,這樣才能引用,程式碼如下。

                
    
        
            
                
            
            
        
    
  
    
  



這樣就算完成引用了,當程式在執行時,在Binding過程當中,會執行到ListToTextConverter類別內執行Convert方法,並且轉換成字串,再給TextBox。