Exemplo n.º 1
0
        private GamesGridViewColumn CreateColumn(GameField field, SortOrder?sortOrder, string cellTemplateName, string headerTemplateName, string bindingName = null)
        {
            // bindingName is there for backwards compatibility between P8 and P9
            var column = new GamesGridViewColumn
            {
                Field     = field,
                SortOrder = sortOrder
            };

            BindingOperations.SetBinding(
                column,
                GridViewColumn.WidthProperty,
                new Binding($"{nameof(ViewSettings.ListViewColumns)}.{bindingName ?? field.ToString()}.{nameof(ListViewColumnProperty.Width)}")
            {
                Source = AppSettings.ViewSettings,
                Mode   = BindingMode.TwoWay
            });

            column.CellTemplate = Resources[cellTemplateName] as DataTemplate;
            if (!headerTemplateName.IsNullOrEmpty())
            {
                column.HeaderTemplate = Resources[headerTemplateName] as DataTemplate;
            }

            return(column);
        }
Exemplo n.º 2
0
        private GamesGridViewColumn GetColumn(GameField field)
        {
            GamesGridViewColumn newColumn = null;

            if (field == GameField.Icon)
            {
                newColumn = CreateColumn(field, null, "CellTemplateIcon", null);
            }
            else if (field == GameField.Name)
            {
                newColumn = CreateColumn(field, SortOrder.Name, "CellTemplateName", "HeaderTemplateName");
            }
            else if (field == GameField.Platforms)
            {
                newColumn = CreateColumn(field, SortOrder.Platforms, "CellTemplatePlatform", "HeaderTemplatePlatform", "Platform");
            }
            else if (field == GameField.PluginId)
            {
                newColumn = CreateColumn(field, SortOrder.Library, "CellTemplateLibrary", "HeaderTemplateLibrary");
            }
            else if (field == GameField.Developers)
            {
                newColumn = CreateColumn(field, SortOrder.Developers, "CellTemplateDevelopers", "HeaderTemplateDevelopers");
            }
            else if (field == GameField.Publishers)
            {
                newColumn = CreateColumn(field, SortOrder.Publishers, "CellTemplatePublishers", "HeaderTemplatePublishers");
            }
            else if (field == GameField.ReleaseDate)
            {
                newColumn = CreateColumn(field, SortOrder.ReleaseDate, "CellTemplateReleaseDate", "HeaderTemplateReleaseDate");
            }
            else if (field == GameField.Genres)
            {
                newColumn = CreateColumn(field, SortOrder.Genres, "CellTemplateGenres", "HeaderTemplateGenres");
            }
            else if (field == GameField.Categories)
            {
                newColumn = CreateColumn(field, SortOrder.Categories, "CellTemplateCategories", "HeaderTemplateCategories");
            }
            else if (field == GameField.Features)
            {
                newColumn = CreateColumn(field, SortOrder.Features, "CellTemplateFeatures", "HeaderTemplateFeatures");
            }
            else if (field == GameField.Tags)
            {
                newColumn = CreateColumn(field, SortOrder.Tags, "CellTemplateTags", "HeaderTemplateTags");
            }
            else if (field == GameField.IsInstalled)
            {
                newColumn = CreateColumn(field, SortOrder.IsInstalled, "CellTemplateIsInstalled", "HeaderTemplateIsInstalled");
            }
            else if (field == GameField.InstallDirectory)
            {
                newColumn = CreateColumn(field, SortOrder.InstallDirectory, "CellTemplateInstallDirectory", "HeaderTemplateInstallDirectory");
            }
            else if (field == GameField.LastActivity)
            {
                newColumn = CreateColumn(field, SortOrder.LastActivity, "CellTemplateLastActivity", "HeaderTemplateLastActivity");
            }
            else if (field == GameField.Playtime)
            {
                newColumn = CreateColumn(field, SortOrder.Playtime, "CellTemplatePlaytime", "HeaderTemplatePlaytime");
            }
            else if (field == GameField.PlayCount)
            {
                newColumn = CreateColumn(field, SortOrder.PlayCount, "CellTemplatePlayCount", "HeaderTemplatePlayCount");
            }
            else if (field == GameField.CompletionStatus)
            {
                newColumn = CreateColumn(field, SortOrder.CompletionStatus, "CellTemplateCompletionStatus", "HeaderTemplateCompletionStatus");
            }
            else if (field == GameField.Series)
            {
                newColumn = CreateColumn(field, SortOrder.Series, "CellTemplateSeries", "HeaderTemplateSeries");
            }
            else if (field == GameField.Version)
            {
                newColumn = CreateColumn(field, SortOrder.Version, "CellTemplateVersion", "HeaderTemplateVersion");
            }
            else if (field == GameField.AgeRatings)
            {
                newColumn = CreateColumn(field, SortOrder.AgeRatings, "CellTemplateAgeRating", "HeaderTemplateAgeRating", "AgeRating");
            }
            else if (field == GameField.Regions)
            {
                newColumn = CreateColumn(field, SortOrder.Regions, "CellTemplateRegion", "HeaderTemplateRegion", "Region");
            }
            else if (field == GameField.Source)
            {
                newColumn = CreateColumn(field, SortOrder.Source, "CellTemplateSource", "HeaderTemplateSource");
            }
            else if (field == GameField.Added)
            {
                newColumn = CreateColumn(field, SortOrder.Added, "CellTemplateAdded", "HeaderTemplateAdded");
            }
            else if (field == GameField.Modified)
            {
                newColumn = CreateColumn(field, SortOrder.Modified, "CellTemplateModified", "HeaderTemplateModified");
            }
            else if (field == GameField.UserScore)
            {
                newColumn = CreateColumn(field, SortOrder.UserScore, "CellTemplateUserScore", "HeaderTemplateUserScore");
            }
            else if (field == GameField.CriticScore)
            {
                newColumn = CreateColumn(field, SortOrder.CriticScore, "CellTemplateCriticScore", "HeaderTemplateCriticScore");
            }
            else if (field == GameField.CommunityScore)
            {
                newColumn = CreateColumn(field, SortOrder.CommunityScore, "CellTemplateCommunityScore", "HeaderTemplateCommunityScore");
            }

            return(newColumn);
        }