Example #1
0
    public override object ConvertFrom( ITypeDescriptorContext context, CultureInfo culture, object value )
    {
      string stringValue = value as string;

      if( stringValue != null )
      {
        ViewBase toReturn = null;

        string completeName = stringValue;
        int pointIndex = completeName.IndexOf( "." );
        string viewName = string.Empty;
        string themeName = string.Empty;

        if(pointIndex != -1)
        {
          viewName = completeName.Substring( 0, pointIndex );
          themeName = completeName.Substring( pointIndex + 1 );
        }
        else
        {
          viewName = completeName;
        }

        viewName = viewName.ToLowerInvariant();

        switch( viewName )
        {
          case "tableview":
            toReturn = new TableView();
            break;
          case "tableflowview":
            toReturn = new TableflowView();
            break;
        }

        if( toReturn == null )
        {
          throw new ArgumentException( "The specified view is invalid.", "value" );
        }
        else
        {
          if( !string.IsNullOrEmpty( themeName ) )
          {
            ThemeConverter themeConverter = new ThemeConverter();
            toReturn.Theme = (Theme)themeConverter.ConvertFromString(themeName);
          }
        }

        return toReturn;
      }

      return base.ConvertFrom( context, culture, value );
    }
Example #2
0
        static TableflowView()
        {
            FrameworkContentElement.DefaultStyleKeyProperty.OverrideMetadata(
                typeof(TableflowView),
                new FrameworkPropertyMetadata(TableflowView.GetDefaultStyleKey(typeof(TableflowView), null)));

            TableView.IsAlternatingRowStyleEnabledProperty.OverrideMetadata(
                typeof(TableflowView),
                new FrameworkPropertyMetadata(true));

            TableView.AllowRowResizeProperty.OverrideMetadata(
                typeof(TableflowView),
                new FrameworkPropertyMetadata(false));

            TableflowView.AreGroupsFlattenedProperty.OverrideMetadata(
                typeof(TableflowView),
                new FrameworkPropertyMetadata(true));

            TableflowView.IsDeferredLoadingEnabledProperty.OverrideMetadata(
                typeof(TableflowView),
                new FrameworkPropertyMetadata(true));
        }