Converts a collection of tags to a single string representation containing the tags separated by a comma : String Split « Data Types « C# / C Sharp






Converts a collection of tags to a single string representation containing the tags separated by a comma

    

using System;
using System.Collections.ObjectModel;
using System.Globalization;
using System.Text;
using System.Windows.Data;

namespace Photoviewer.Common
{
    /// <summary>
    /// Specialized converter to convert between a tag collection
    /// and a string representation of the tags
    /// </summary>
    public class TagsValueConverter : IValueConverter
    {
        #region IValueConverter Members

        /// <summary>
        /// Converts a collection of tags to a single string representation
        /// containing the tags separated by a comma
        /// </summary>
        /// <param name="value"></param>
        /// <param name="targetType"></param>
        /// <param name="parameter"></param>
        /// <param name="culture"></param>
        /// <returns></returns>
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (!(value is Collection<string>))
            {
                return null;
            }

            StringBuilder outputBuilder = new StringBuilder();
            bool first = true;

            foreach (string item in (Collection<string>)value)
            {
                if (!first)
                {
                    outputBuilder.Append(", ");
                }

                outputBuilder.Append(item);
                first = false;
            }

            return outputBuilder.ToString();
        }

        /// <summary>
        /// Converts a set of tags separated by a comma back to
        /// a collection of tags
        /// </summary>
        /// <param name="value"></param>
        /// <param name="targetType"></param>
        /// <param name="parameter"></param>
        /// <param name="culture"></param>
        /// <returns></returns>
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            string[] parts = value.ToString().Split(',');
            Collection<string> tags = new Collection<string>();

            foreach (string tag in parts)
            {
                tags.Add(tag.Trim());
            }

            return tags;
        }

        #endregion
    }
}

   
    
    
    
  








Related examples in the same category

1.Split with space
2.Split with a list of dividers
3.Split spaces with space
4.Show string in proper case
5.use the Split() method to split strings
6.Splitting StringsSplitting Strings
7.Split and join stringsSplit and join strings
8.Tokenize stringsTokenize strings
9.Char String foreachChar String foreach
10.Split a string delimited by another string and return 2 non-empty elements
11.Split a string delimited by another string and return 2 elements
12.Split the original string at the delimiter and return all non-empty elements
13.Split a string delimited by another string and return all elements
14.Split a string delimited by characters and return all elements
15.Split a string delimited by characters and return 2 non-empty elements
16.Split a string delimited by characters and return 2 elements
17.Split a string delimited by characters and return all non-empty elements
18.Use StringSplitOptions enumeration to include or exclude substrings generated by the Split method.
19.Implements a StringTokenizer class for splitting a string into substrings using a set of delimiters.
20.String Tokenizer
21.Can parse a string representing a string[] into an actual string[].
22.Takes in any string and convert it into a Byte array, suitable for e.g. insertion into a REG_BINARY Registry value.
23.Splits the string into lines.
24.Splits the string into words (all white space is removed).
25.Split Quoted String
26.Helper class to split a long word into a single one.
27.Splits the string into an array, using the separator.
28.Splits string name into a readable string based on camel casing.