Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
WPF

Как внедрить модель во viewModel?

26.12.2024, 11:19. Показов 25505. Ответов 295
Метки mvvm (Все метки)

Студворк — интернет-сервис помощи студентам
День добрый. Есть у меня метод в проекте, который вызывается из конструктора. Метод по типу "Получить все из бд и вывести на экран".

Смущает меня то, как именно я это делаю. Когда происходит загрузка, UI блокируется. Да и в целом все очень медленно и дальше будет только хуже с добавлением данных.

Теперь код.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public class BirdsViewModel : ObservableObject
{
    // [B]Конструктор[/B]
    public BirdsViewModel(IBirdRepository birdRepository, Func<BirdEntity, BirdViewModel> birdView) // [B]Прошу обратить 
//внимание на делегат. Его, думаю, и нужно заменять.[/B]
 
    {
        Birds = [];
        _birdView = birdView;
        _birdRepository = birdRepository;
        LoadBirds();
    }
 
// [B]Проблемный метод[/B]
private async void LoadBirds()
{
    var birds = await _birdRepository.GetAllAsync(); // [B]Получение данных из БД[/B]
    switch (Name)
    {
        default:
            foreach (var bird in birds)
                Birds.Add(_birdView(bird)); // [B]С помощью делегата я во ViewModel передаю Entity, 
//с которой та и работает. Есть ли другие методы подобной реализации, чтобы у каждой ViewModel был свой Entity?[/B]
            break;
    }
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.12.2024, 11:19
Ответы с готовыми решениями:

Как из ViewModel UserControl'a изменить свойство в ViewModel главного окна?
Недавно начал попытки создавать приложение WPF с применением MVVM, и у меня возник вопрос, который не даёт мне продвигаться в разработке...

Как зарегистрировать ViewModel через Autofac, создав между ViewModel и нужным View DataContext связь?
Доброго времени суток. Есть желание при регистрации ViewModel'и сразу же &quot;подключиться&quot; к DataContext'у у нужной View, как например: ...

WPF получить доступ из одной viewmodel к другой viewmodel
Собственно есть у меня две viewmodel, mainviewmodel и settingsviewmodel, в mainviewmodel есть вот такая штука private Visibility...

295
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
20.02.2025, 05:09  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Элд Хасп Посмотреть сообщение
В ней выводится количество Bird в выбранном Specie. Выбор Specie производится на странице Species, а вывод его Bird на странице Birds.
Честно говоря, я не смог понять, почему при выборе определенной Specie выводится именно ее Birds.

В конце есть ItemsControl, который непонятно к чему привязан (Просто Binding без ничего). Попытался привязать к Count, но ничего не выводится в таком случае.
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<UniformGrid Columns="2">
    <ListBox x:Name="speciesList" ItemsSource="{Binding Species, Mode=OneWay, Source={StaticResource mainVM}}"
             SelectionChanged="OnSelectedSpecieChanged">
        <ItemsControl.ItemTemplate>
            <DataTemplate DataType="{x:Type rep:Specie}">
                <StackPanel Orientation="Horizontal">
                    <CheckBox IsChecked="{Binding IsSelected,
                                                  Mode=TwoWay,
                                                  RelativeSource={RelativeSource FindAncestor,
                                                                                 AncestorType={x:Type ListBoxItem}}}"
                              VerticalAlignment="Center">
                        <CheckBox.Content>
                            <TextBlock>
                                <TextBlock.Text>
                                    <MultiBinding StringFormat="{}{0}: {1}">
                                        <Binding Path="Id"/>
                                        <Binding Path="Name"/>
                                    </MultiBinding>
                                </TextBlock.Text>
                            </TextBlock>
                        </CheckBox.Content>
                    </CheckBox>
                    <Button Content="Редактировать" Margin="5"
                            Command="{Binding EditSpecieCommand, Mode=OneWay, Source={StaticResource mainVM}}"
                            CommandParameter="{Binding}"/>
                </StackPanel>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ListBox>
    <ItemsControl ItemsSource="{Binding Mode=OneWay, Source={StaticResource birds}}"
                  DisplayMemberPath="Name"
                  Margin="10"
                  Foreground="White"/>
</UniformGrid>
Я отправил во View через ViewModel нужные сущности, но теперь хочу понять, как мне за раз из коллекции во View выводить только одну сущность, и уже по команде переключаться на следущую? Что-то типо for цикла
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
20.02.2025, 14:49
Цитата Сообщение от Vissmuy Посмотреть сообщение
В конце есть ItemsControl, который непонятно к чему привязан (Просто Binding без ничего).
Нормальная же привязка ItemsSource="{Binding Mode=OneWay, Source={StaticResource birds}}".
birds - это CollectionViewSource из ресурсов App:
XML
47
48
            <CollectionViewSource x:Key="birds"
                                  Source="{Binding Birds, Source={StaticResource mainVM}}"/>
настройка его фильтрации происходит здесь SpeciesView.xaml.cs
C#
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
        private void OnSelectedSpecieChanged(object sender, SelectionChangedEventArgs e)
        {
            CollectionViewSource birds = (CollectionViewSource)FindResource("birds");
            HashSet<int> ids = speciesList.SelectedItems.OfType<Specie>().Select(s => s.Id).ToHashSet();
            FilterEventHandler? filter = Application.Current.Resources["birdsFilter"] as FilterEventHandler;
            if (filter is not null)
            {
                birds.Filter -= filter;
            }
            if (ids.Count > 0)
            {
                filter = (s, e) =>
                {
                    Bird bird = (Bird)e.Item;
                    e.Accepted &= ids.Contains(bird.SpecieId);
                };
                Application.Current.Resources["birdsFilter"] = filter;
                birds.Filter += filter;
            }
        }
Цитата Сообщение от Vissmuy Посмотреть сообщение
Попытался привязать к Count, но ничего не выводится в таком случае.
Посмотрите в BirdsView.xaml:
XML
23
24
25
26
27
28
            <TextBlock Text="{Binding Count, Mode=OneWay, StringFormat=Total number of birds: \{0\}, Source={StaticResource birds}}"
                           Margin="0 0 0 20"
                           Foreground="White"
                           FontSize="24"
                           VerticalAlignment="Center"
                           HorizontalAlignment="Center" />
Динамически показывается количество Bird в выбранных Specie.
В текущей реализации выбирается только один Specie. Но можно выбрать и несколько - это задаётся режимом ListBox x:Name="speciesList"/

Добавлено через 1 час 8 минут
Цитата Сообщение от Vissmuy Посмотреть сообщение
как мне за раз из коллекции во View выводить только одну сущность, и уже по команде переключаться на следущую? Что-то типо for цикла
Не понял вопроса.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
20.02.2025, 17:56  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Посмотрите в BirdsView.xaml:
Я видел и попробовал к Count привязку сделать, не вышло. Убрал DisplayMemberPath, просто ничего не выводит, хотя по идее должно выводить количество элементов в коллекции.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Не понял вопроса.
Ну то есть из всех Specie вывести только одну - Specie[0] например. А по команде уже переключиться к Specie[1], то есть выводить во View элементы из коллекции по очереди, а не все сразу, как в BirdsView, к примеру.

Я так понимаю, что такие вот штуки с сортировкой делать надо в CB?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
20.02.2025, 23:24
Цитата Сообщение от Vissmuy Посмотреть сообщение
Я видел и попробовал к Count привязку сделать, не вышло. Убрал DisplayMemberPath, просто ничего не выводит, хотя по идее должно выводить количество элементов в коллекции.
Я не пойму чего вы хотите увидеть.

Привязка "{Binding Mode=OneWay, Source={StaticResource birds}}" эквивалентна привязке "{Binding Path=View, Mode=OneWay, Source={StaticResource birds}}".
Привязка "{Binding Count, Mode=OneWay, StringFormat=Total number of birds: \{0\}, Source={StaticResource birds}}" эквивалентна "{Binding Path=View.Count, Mode=OneWay, StringFormat=Total number of birds: \{0\}, Source={StaticResource birds}}".

Причём здесь DisplayMemberPath, вообще, не пойму.

Цитата Сообщение от Vissmuy Посмотреть сообщение
Ну то есть из всех Specie вывести только одну - Specie[0] например.
Зачем?
Не надо описывать КАК вы хотите сделать. Опишите ЧТО вы хотите сделать.

Цитата Сообщение от Vissmuy Посмотреть сообщение
А по команде уже переключиться к Specie[1], то есть выводить во View элементы из коллекции по очереди, а не все сразу, как в BirdsView, к примеру.
Здесь я вижу некий навигатор.
Если привязка идёт к CollectionView (в данном случае получаемом из CollectionViewSource.View), то нужно получать перечисление View. Если нужна синхронизация представлений, то нужно использовать ICollectionView.CurrentItem и переходить к следующему методом ICollectionView.MoveCurrentToNext .
Если нужно не синхронизированное переключение, то сделать копию CollectionViewSource.View и обходить по нему.
Так же синхронизацию можно отключить в свойстве Selector.IsSynchronizedWithCurrentItem.

Добавлено через 2 минуты
Цитата Сообщение от Vissmuy Посмотреть сообщение
Я так понимаю, что такие вот штуки с сортировкой делать надо в CB?
Не обязательно.
В CB проще для учебного примера.
В общем случае лучше делать в Behavior, Attached Property и статическом хелпере.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
21.02.2025, 10:47  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Не надо описывать КАК вы хотите сделать. Опишите ЧТО вы хотите сделать.
Так я и описываю, что я хочу сделать и я не знаю как. Может сделать вью под одну specie, и по команде просто передавать туда по очереди их.

Добавлено через 1 минуту
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Причём здесь DisplayMemberPath, вообще, не пойму.
Я уже понял, что чтобы выводило количество, надо фильтр настраивать в св.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
21.02.2025, 19:48
Цитата Сообщение от Vissmuy Посмотреть сообщение
Так я и описываю, что я хочу сделать и я не знаю как.
Не понимаю ваших объяснений.

Что в GUI вы хотите увидеть?
Например, представление одного Bird и кнопки перехода с предыдущему и следующему?
Если да, то по какой коллекции Birds, то есть как она должна быть отфильтрована и отсортирована?
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
22.02.2025, 03:31  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Например, представление одного Bird и кнопки перехода с предыдущему и следующему?
Да, только не кнопки перехода. Я хочу использовать клавиши, я уже делал так, клавиши получилось привязать к командам, но сами клавиши были и работали только в самом окне MainWindow, в UserControl не удалось добиться такого же результата.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
22.02.2025, 10:24
Цитата Сообщение от Vissmuy Посмотреть сообщение
Да, только не кнопки перехода. Я хочу использовать клавиши,
Это не принципиально.
Главное чтобы команды были.

Не ответили на вопросы:
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если да, то по какой коллекции Birds, то есть как она должна быть отфильтрована и отсортирована?
Я покажу реализацию обхода по коллекции birds в ресурсах App без синхронизации текущего элемента.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
22.02.2025, 11:39  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Не ответили на вопросы:
Я пока не понимаю как, что и зачем.

Я уже делал сортировку CollectionView.

Метод сортировки у меня был в главной модели, в ветке twoentities. Вы этот метод без объяснений убрали, теперь у вас метод по сортировке в cb, но вы говорите, что так делать не обязательно. Так что я не имею понятия где должны располагаться методы по сортировке и фильтрации коллекций.

Пусть пока будет без сортировки или фильрации.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
без синхронизации текущего элемента.
А что значит без синхронизации текущего элемента?
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
22.02.2025, 17:19
Цитата Сообщение от Vissmuy Посмотреть сообщение
Я так понимаю, что такие вот штуки с сортировкой делать надо в CB?
Вариант со созданием кастомного BirdsViewSource : CollectionViewSource скинул в фиксации ветки twoentity.
Добавил в BirdsView фильтрацию по фрагментам текста.

Добавлено через 4 минуты
Цитата Сообщение от Vissmuy Посмотреть сообщение
Метод сортировки у меня был в главной модели, в ветке twoentities.
А... это то что у вас было в MainBirdsViewModel?
ViewModel не может работать с сущностями View. А CollectionViewSource это сущность уровня View.
Сейчас перенесу эту сортировку в App birds.

Добавлено через 7 минут
Добавил. Посмотрите фиксацию.

Добавлено через 1 час 34 минуты
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Я покажу реализацию обхода по коллекции birds
Добавил реализацию. См. фиксация:
Добавлена страница с листанием Bird по коллекции App birds.
Цитата Сообщение от Vissmuy Посмотреть сообщение
А что значит без синхронизации текущего элемента?
Есть возможность синхронизироваться разные Selector (ListBox, ListView, DataGrid и др.) по текущему выбранному элементу в CollectionView.
Selector.IsSynchronizedWithCurrentItem.
Если делать с синхронизацией, то надо листать App.birds методами CollectionView.MoveCurrentToNext и CollectionView.MoveCurrentToPrevious.
Я же сделал листание через скрытый ListBox.

Добавлено через 25 минут
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если делать синхронизацией, то надо листать App.birds методами CollectionView.MoveCurrentToNext и CollectionView.MoveCurrentToPrevious.
Скинул и такую реализацию.
1
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
22.02.2025, 17:41  [ТС]
Элд Хасп, благодарю. Буду разбираться.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
23.02.2025, 07:23  [ТС]
Элд Хасп, возможно ли использовать два провайдера баз данных, но не одновременно, а в зависимости от условий? Допустим на своем пк я хочу использовать SqlServer, но если по нему не удается, то SqlLite.

Собственно вот в этом методе может ли присутствовать какой-нибудь if или switch, дабы определять нужный провайдер?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
    var configuration = new ConfigurationBuilder()
        .SetBasePath(Directory.GetCurrentDirectory())
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .Build();
 
    var connectionString = configuration.GetConnectionString("SQLite");
    optionsBuilder.UseSqlServer(connectionString);
    optionsBuilder.UseSqlite(connectionString);
 
    base.OnConfiguring(optionsBuilder);
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
23.02.2025, 11:03
Vissmuy, вопрос не относится к WPF.
Скопировал его в раздел C#: Базы данных, Entity Framework.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
23.02.2025, 17:32  [ТС]
Элд Хасп, мне удалось сделать такую же навигацию по коллекции, как у вас, но есть проблема. У меня, скажем так, несколько коллекций, по которым нужна навигация. Но когда я передаю в первый раз одну коллекцию, все норм. Затем я передаю другую, но у меня по прежнему старая коллекция в привязке.

Вот модель, в которой находится нужная для навигации коллекция элементов.
C#
1
2
3
4
public class SetViewModel : ViewModelBase
{
    public List<Word>? Words { get => Get<List<Word>>(); set => Set(value); }
}
Вот команда, которая нужна для переключения представления с передачей коллекции в модель.
C#
1
2
3
4
5
6
7
8
9
public RelayCommand SelectSetCommand => GetCommand<Set>
    (
        set =>
        {
            setVM.Words = WordsInSet = Words.Where(w => w.SetId == set.Id).ToList();
            navigator.NavigateTo(setVM);
        },
        set => Words.Where(w => w.SetId == set.Id).ToList().Count > 0
    );
setVM.Words - это как раз таки свойство в ViewModel. Сейчас не используется.

WordsInSet - в целом тоже самое, но на этот лист есть ссылка в App, дабы я имел к нему доступ в других представлениях, как у вас. Но он статичный. И соответственно не обновляется.

CollectionViewSource в App.xaml. Эту коллекцию я и использую для навигации.
XML
1
2
<CollectionViewSource x:Key="words"
                      Source="{Binding WordsInSet, Source={StaticResource mainVM}}" />
Добавлено через 7 минут
Соответственно в нужном View идет привязка к этому набору.
XML
1
<ContentControl Content="{Binding CurrentItem, Mode=OneWay, Source={StaticResource words}}">
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
23.02.2025, 17:38
Цитата Сообщение от Vissmuy Посмотреть сообщение
Но он статичный. И соответственно не обновляется.
Статичные свойства тоже можно обновлять.

Цитата Сообщение от Vissmuy Посмотреть сообщение
Эту коллекцию я и использую для навигации.
Не понял привязку "{Binding WordsInSet, Source={StaticResource mainVM}}".

WordsInSet - это свойство mainVM?
Покажите его реализацию.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
23.02.2025, 17:43  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Покажите его реализацию.
Я думал, что нужен просто контейнер для элементов. Находится в главной модели.
C#
1
public List<Word>? WordsInSet { get; set; }
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
23.02.2025, 18:23
Цитата Сообщение от Vissmuy Посмотреть сообщение
public List<Word>? WordsInSet { get; set; }
Тогда нужна полная реализация, чтобы было автообновление:
C#
1
public List<Word>? WordsInSet { get => Get<List<Word>>(); set => Set(value); }
Простое автосвойство автообновляется, только в случае если его изменение происходит через привязку.
Привязка для обновления свойства использует PropertyDescriptor: Разъяснение PropertyDescriptor: Почему в некоторых случаях Binding правильно работает без INPC (INotifyPropertyChanged)?

Добавлено через 3 минуты
Цитата Сообщение от Vissmuy Посмотреть сообщение
CollectionViewSource в App.xaml. Эту коллекцию я и использую для навигации.
Если она нужна только в одном представлении, то не надо её объявлять в App.
Объявите в нужном представлении.
0
 Аватар для 2033
4 / 4 / 1
Регистрация: 26.12.2024
Сообщений: 225
24.02.2025, 12:05  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Тогда нужна полная реализация, чтобы было автообновление:
У меня как раз во ViewModel это уже было, я теперь из нее использую это свойство. А обычное свойство убрал.

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Если она нужна только в одном представлении, то не надо её объявлять в App.
Объявите в нужном представлении.
Сейчас ViewModel выглядит так. Булевое свойство нужно для ToggleButton.
C#
1
2
3
4
5
public class SetViewModel : ViewModelBase
{
    public List<Word>? Words { get => Get<List<Word>>(); set => Set(value); }
    public bool HideDef { get => Get<bool>(); set => Set(value); }
}
Но так как у View, где находится ToggleButton, своя ViewModel, я в ресурсах этой View задал эту ViewModel, и к ее булевому свойству привязал кнопку. Но по какой-то непонятной мне причине при переключении тогл кнопки булевая переменная не меняет своего значения.
0
 Аватар для Andrey-MSK
3392 / 2278 / 388
Регистрация: 14.08.2018
Сообщений: 7,700
Записей в блоге: 4
24.02.2025, 12:22
Цитата Сообщение от Vissmuy Посмотреть сообщение
Булевое свойство нужно для ToggleButton.
А если использовать событие? И в методе VM поднимать его, а во View слушать и выполнять какие-то действия...
В VM
C#
1
2
3
4
5
6
private void SomeMethod()
{
    // Что-то делаем
 
   MyEvent?.Invoke(this, EventArgs.Empty);
}
Во View
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
private void Window_Loaded()
{
    vm.MyEvent += OnMyEvent();
}
 
private void Window_Closing()
{
    vm.MyEvent -= OnMyEvent();
}
 
private void OnMyEvent()
{
    // Что-то делаем с элементами UI
}
Добавлено через 3 минуты
Vissmuy,
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
C#
1
MyEvent?.Invoke(this, EventArgs.Empty);
Можно создать свой класс события и сделать у него нужные аргументы, и в зависимости от них принимать решения.

Добавлено через 14 секунд
Vissmuy,
Цитата Сообщение от Andrey-MSK Посмотреть сообщение
C#
1
MyEvent?.Invoke(this, EventArgs.Empty);
Можно создать свой класс события и сделать у него нужные аргументы, и в зависимости от них принимать решения.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16165 / 11285 / 2891
Регистрация: 21.04.2018
Сообщений: 33,174
Записей в блоге: 2
24.02.2025, 14:21
Цитата Сообщение от Vissmuy Посмотреть сообщение
я в ресурсах этой View задал эту ViewModel,
Почти на 100% уверен, что путаница в экземплярах VM.

Цитата Сообщение от Vissmuy Посмотреть сообщение
Сейчас ViewModel выглядит так. Булевое свойство нужно для ToggleButton.
Как-то сомнительно очень звучит.
Сильно попахивает просачиванием View функционала в VM.


Это уже вас уже другой проект, не Birds?

Лучше дайте его через GitHub - так проще будет разобраться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2025, 14:21

Mvvm ViewModel в ViewModel
Есть одно окошко там много вкладок, в каждой вкладке есть подвкладки и там много разных таблиц и кнопок. ViewModel будет просто огромной,...

Как внедрить БД в exe на VB 6.0
Hi! Есть база на Access 7.0 и проект на VB 6.0. Можно ли как-нибудь всунуть .mdb файл в exe-шник, чтобы никто не мог его открыть и...

Как внедрить функцию
Здравствуйте, есть программа которая считает в edit сколько открывающихся скобок и закрывающихся. мой код выглядит так: procedure...

как с внедрить свой код
Всем привет! Не подскажите как можно создать свою папку в вордпресссом и внедрить свой код. Сейчас есть сайт на вордпресс, там нужно...

Как внедрить ProgressBar в макрос
Добрый день! почитал соседние темки на эту тему, нашел у товарища analyst архив с замечательными формами ProgressBar но так как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
220
Ответ Создать тему
Новые блоги и статьи
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru