private void CreateTableView(object view, MemberInfo member, Theme theme)
{
Theme = Theme.CreateTheme(theme);
var themeable = view as IThemeable;
if (themeable != null)
{
var themeAttribute = view.GetType().GetCustomAttribute<ThemeAttribute>();
if (themeAttribute != null)
{
var viewTheme = Theme.CreateTheme(themeAttribute.ThemeType);
themeable.Theme = viewTheme;
var newTheme = Theme.CreateTheme(viewTheme);
Theme = newTheme;
themeable.Theme = Theme;
}
}
using(var parser = new ViewParser())
{
var source = parser.Parse(this, view, member);
var tableViewStyle = Theme.TableViewStyle;
var tableStyle = source as ITableViewStyle;
if (tableStyle != null)
{
tableViewStyle = tableStyle.TableViewStyle;
}
if (source != null)
{
_TableView = MakeTableView(UIScreen.MainScreen.Bounds, tableViewStyle);
_TableView.Source = source;
TableView = _TableView;
DisableScrolling = view.GetType().GetCustomAttribute<DisableScrollingAttribute>() != null;
}
}
}