• Как создать таблицу стилей в xaml?

    hePPer
    @hePPer
    создавайте стили отдельно для каждого элемента, при наличии каких либо общий свойств - делайте отдельный стиль и потом его переопределяйте.

    <Style BasedOn="{StaticResource {x:Type CheckBox}}" TargetType="{x:Type CheckBox}">
            <Setter Property="CheckBox.HorizontalContentAlignment" Value="Left" />
            <Setter Property="CheckBox.VerticalContentAlignment" Value="Center" />
            <Setter Property="HorizontalAlignment" Value="Left" />
            <Setter Property="VerticalAlignment" Value="Center" />
            <Setter Property="Margin" Value="1" />
        </Style>
    Ответ написан
    2 комментария
  • C# Какое мне лучше выбрать хранилище для массива данных?

    hePPer
    @hePPer
    Мне очень подошел Dictionary, у которого в качестве ключа используется ключевое поля из класса. Но в этом случае мне требуется убрать ключевое поле из класса и хранить его в ключе словаря. Можно конечно не удалять, но оно будет дублироваться.


    Dictionary и используйте - думаю в вашем случае оптимальный вариант, и поиск по ключу очень быстрый.
    Ответ написан
    Комментировать
  • C# - PostgreSQL Как работать с GridView?

    hePPer
    @hePPer
    пробуйте реализовать репозиторий и работать с ним, а не напрямую с таблицами из бд.

    тут есть пример
    Ответ написан
    Комментировать
  • Как правильно закончить закрытый альфа тест игры и перейти к ОБТ?

    hePPer
    @hePPer
    Вообще тестирование как правило заканчивается полным обнулением, которое оговаривается отдельно.
    Но раз уже все зашло, куда зашло - то лучше оставить сервер в покое, и имеющихся игроков не ущемлять.
    А для продолжения можно "старичкам", или особо отличившимся тестерам, дать памятную награду за участие/помощь в тестировании, объявить о прекращении тестирования, и сделать регистрацию/подъем на начальных этапам более легким, например выдавать новым игрокам какие ниб плюшки, помогающие быстро начать, и при этом не вносящие дисбаланса в игру.
    Ответ написан
    Комментировать
  • Как заставить обновляться ListBox с помощью INotifyPropertyChanged?

    hePPer
    @hePPer
    у вас неверная стратегия обновления данных.
    Листбокс подписывается на событие не INotifyPropertyChanged, а на INotifyCollectionChanged.
    Затем - вначале вы создали ListCode, на который забиндился listbox - все у вас хорошо.
    Но, тут вы вызвали метод GetList(), после чего из ListCode пропала ссылка на старый ObservableCollection, и появилась на новый, который уже не связан с listbox. Поэтому в списке вы видите что данные обновились, но т.к. лисбокс остался привязан к старой коллекции, то обновлений он не увидел.

    поидее чтобы заработало можно сделать так, хотя будет не оптимально если данных много

    public void GetList()
    {
    var listFromDB= (берется из базы)

    ListCode.Clear();
    foreach(var item in listFromDB)
    ListCode.Add(item);
    }
    Ответ написан
    Комментировать
  • Как правильно реализовать сброс настроек до первоначальных?

    hePPer
    @hePPer
    если при создании настроек использованы стандартные возможности студии, - то настройки будут храниться в 2х местах - рядом с программой, которые доступны только для чтения, они же дефолтные, и измененные, они хранятся в папке пользователя.
    для возврата к первоначальным, вам надо просто сбросить настройки и сохранить их. для этого, если не изменяет память в классе Settings есть специальный метод.
    Ответ написан
    Комментировать
  • Как сделать запрос к объекту другой формы?

    hePPer
    @hePPer
    сделайте в форме addgroup новый конструктор, который будет принимать на вход в качестве параметра dataGridView и хранить его в виде поля.
    при создании передавайте ваш грид в новую форму и там используйте

    private DataGridView maingrid;
    public addgroup(DataGridView grid)
    {
    maingrid=grid;
    }

    addgroup form = new addgroup(dataGridView1);
    form.Owner = this;
    form.ShowDialog();

    public void button1_Click(object sender, EventArgs e)
    {
    int val_id = maingrid.Rows.Count + 1;
    }
    Ответ написан
    Комментировать
  • Как решить проблему билда проекта asp.net mvc?

    hePPer
    @hePPer
    обновите в проекте пакеты NuGet
    Ответ написан
    Комментировать
  • Как свойству ObservableCollection указать, что элемент был изменен?

    hePPer
    @hePPer
    При добавлении элементов в MyData.Sourse ничего не меняется, нашел код на подобие, то есть вообще ничего не отображается, хотя знаю, что MyData.Sourse обновился.


    у вас источником данных выступают 3 ObservableCollection - скорее всего при первичном байндинге связь происходит только с одним из списков.

    возможно вледует вместо прямой связки использовать что-то вроде ListCollectionView и при изменениях в коллекции/нужной коллекции вручную обновлять ListCollectionView
    Ответ написан
    Комментировать
  • XAML C# Как работать с БД?

    hePPer
    @hePPer
    мб в проекте добавить ссылки на нужные библиотеки?
    Ответ написан
  • Как повторить текущую итерацию while C#?

    hePPer
    @hePPer
    Смотрите ситуация. Идет перебор списка файлов для загрузки с помощью while. Вдруг происходит так что на какой то файл сервер ответил, например 503 ошибкой. Нужно данный файл перекачать по новой в этот же момент. А если continue, то этот файл будет пропущен и мы перейдем к следующему файлу в списке. Или я не прав?


    и прав и нет. в вашем случае достаточно перед началом цикла завести или переменную счетчик или список закачиваемых файлов. в начале цикла загружать файл и если он загружен устанавливать флаг=загружен, в середине проверять это флаг - если не загружен - то continue, иначе продолжить цикл после условия, где сбросить флаг загрузки, изменить счетчик и произвести манипуляции и файлом. - и никаких костылей.
    Ответ написан
    Комментировать
  • Как правильно профилировать оперативную память в ASP.NET MVC? Что значат эти цифры в dotMemory?

    hePPer
    @hePPer
    на сайте разработчика описано, что

    Unmanaged memory * — memory allocated outside of the managed heap and not managed by Garbage Collector. Generally, this is the memory required by .NET CLR, dynamic libraries, graphics buffer (especially large for WPF apps that intensively use graphics), and so on. This part of memory cannot be analyzed in the profiler.


    из чего следует в вашем случае, что основную память съедают сторонние компоненты... пробуйте удалить из приложения лишнее, всякие ссылки на не используемые ресурсы - поидее должно помочь.
    Ответ написан
    Комментировать
  • Internet explorer - как убрать ошибку "Ошибка сценария"?

    hePPer
    @hePPer
    если пилите приложение винформ то можно попробовать так
    WebBrowser1.ScriptErrorsSuppressed = True
    Ответ написан
    Комментировать
  • Что меньше изнашивает карту памяти на android?

    hePPer
    @hePPer
    допишите в класс проверки для контроля изменений (были ли изменены данные или нет) - и при изменении сразу их сохраняйте.
    Ответ написан
    Комментировать
  • Какое направление более перспективно?

    hePPer
    @hePPer
    3 - по поводу перспектив - дела через Н лет могут быть плохи в любой компании, хоть в большой, хоть не очень...
    1, 2 - у .Net разработчиков как правило хорошая зарплата, да и вообще, у опытных программистов хорошая зарплата.
    я думаю в вашем случае надо ориентироваться на то, чем вам больше нравиться заниматься, как говориться "любимым делом можно заниматься и дома в подвале" а если везде платят, то зачем выбирать то что " не очень нравиться".
    Ответ написан
    Комментировать