public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var intervals = value as IEnumerable;

            if (intervals != null)
            {
                var result = new List <RadTabItem>();
                foreach (Interval interval in intervals)
                {
                    var view = IoC.Resolve <IIntervalDesignerView>();
                    view.Model.Interval = interval;
                    if (parameter != null && "nochoice".Equals(parameter.ToString()))
                    {
                        view.Model.AllowSingleOrMultipleVideoSelection = false;
                    }

                    var tabItem = new RadTabItem();
                    tabItem.SetValue(RadTabItem.TabOrientationProperty, Orientation.Horizontal);
                    tabItem.Header  = interval.Title;
                    tabItem.Content = view;

                    result.Add(tabItem);
                }
                return(result);
            }
            return(null);
        }
        /// <summary>
        /// Override to change how RadTabItem's are prepared for items.
        /// </summary>
        /// <param name="item">The item to wrap in a RadTabItem</param>
        /// <param name="parent">The parent <see cref="DependencyObject"/></param>
        /// <returns>A tab item that wraps the supplied <paramref name="item"/></returns>
        protected virtual RadTabItem PrepareContainerForItem(object item, DependencyObject parent)
        {
            var container = item as RadTabItem;

            if (container == null)
            {
                var dataContext = GetDataContext(item);
                container = new RadTabItem
                {
                    Content     = item,
                    Style       = _hostControl.ItemContainerStyle,
                    DataContext = dataContext,
                    Header      = dataContext
                };

                var headerTemplateSelector = GetHeaderTemplateSelector(parent);
                if (headerTemplateSelector != null)
                {
                    container.HeaderTemplate = headerTemplateSelector.SelectTemplate(dataContext, parent);
                }

                container.SetValue(IsGeneratedProperty, true);
            }

            return(container);
        }
        /// <summary>
        /// Override to change how RadTabItem's are prepared for items.
        /// </summary>
        /// <param name="item">The item to wrap in a RadTabItem</param>
        /// <param name="parent">The parent <see cref="DependencyObject"/></param>
        /// <returns>A tab item that wraps the supplied <paramref name="item"/></returns>
        protected virtual RadTabItem PrepareContainerForItem(object item, DependencyObject parent)
        {
            RadTabItem container = item as RadTabItem;

            if (container == null)
            {
                object dataContext = GetDataContext(item);
                container         = new RadTabItem();
                container.Content = item;
                container.Style   = RadTabControlRegionAdapter.GetItemContainerStyle(parent);
                container.Header  = dataContext;
                container.SetValue(IsGeneratedProperty, true);
            }

            return(container);
        }
		/// <summary> 
		/// Override to change how RadTabItem's are prepared for items. 
		/// </summary> 
		/// <param name="item">The item to wrap in a RadTabItem</param> 
		/// <param name="parent">The parent <see cref="DependencyObject"/></param> 
		/// <returns>A tab item that wraps the supplied <paramref name="item"/></returns> 
		protected virtual RadTabItem PrepareContainerForItem(object item, DependencyObject parent)
		{
			RadTabItem container = item as RadTabItem;
			if (container == null)
			{
				object dataContext = GetDataContext(item);
				container = new RadTabItem();
				container.Content = item;
				container.Style = RadTabControlRegionAdapter.GetItemContainerStyle(parent);
				container.Header = dataContext;
				container.SetValue(IsGeneratedProperty, true);
			}

			return container;
		}
        /// <summary>
        /// Override to change how RadTabItem's are prepared for items.
        /// </summary>
        /// <param name="item">The item to wrap in a RadTabItem</param>
        /// <param name="parent">The parent <see cref="DependencyObject"/></param>
        /// <returns>A tab item that wraps the supplied <paramref name="item"/></returns>
        protected virtual RadTabItem PrepareContainerForItem( object item, DependencyObject parent )
        {
            var container = item as RadTabItem;
            if ( container == null )
            {
                var dataContext = GetDataContext ( item );
                container = new RadTabItem
                    {
                        Content = item,
                        Style = _hostControl.ItemContainerStyle,
                        DataContext = dataContext,
                        Header = dataContext
                    };

                var headerTemplateSelector = GetHeaderTemplateSelector ( parent );
                if ( headerTemplateSelector != null )
                {
                    container.HeaderTemplate = headerTemplateSelector.SelectTemplate ( dataContext, parent );
                }

                container.SetValue ( IsGeneratedProperty, true );
            }

            return container;
        }