Ответы пользователя по тегу XAML
  • Как заполнить ComboBox из класса (ссылка на объект)?

    hePPer
    @hePPer
    нужно поправить код
    class FillCategoryComboBox
    {
    
    public static void Fill(ComboBox combo)
     {
    combo.Items.Add("Пункт 2"); //Не добавляет пункт. 
    MessageBox.Show("Класс вызван");  //Выводит сообщение, т.е. класс вызывается.
    }
    }


    и вызывать так
    FillCategoryComboBox.Fill(categoryComboBox);
    Ответ написан
    Комментировать
  • Как создать таблицу стилей в 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 комментария
  • Как заставить обновляться 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);
    }
    Ответ написан
    Комментировать
  • Как свойству ObservableCollection указать, что элемент был изменен?

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


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

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

    hePPer
    @hePPer
    мб в проекте добавить ссылки на нужные библиотеки?
    Ответ написан