Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259

VS не создает метод инициализации

13.09.2018, 10:30. Показов 6320. Ответов 81
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Господа, я немножко пробовал писать используя UWP и C#. А теперь понадобилось WPF и VB.net. Думал то же самое. Но вот первое с чем столкнулся Visual Studio не создает метод лод. То есть создаешь новое Window, а в бэкхэнде только:

VB.NET
1
2
3
Class MainWindow
 
End Class
В гугле фсе примеры с бэкхэндом на C#. И там как и было всегда по нормальному есть метод
C#
1
2
3
4
5
6
7
public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
Это нормально? что не создает. И как инициализировать страницу? Как осуществлять навигацию?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.09.2018, 10:30
Ответы с готовыми решениями:

GСС не создает код для инициализации переменных
Вместо этого, он их засовывает в секцию .data main.c: static volatile int a = 0xb1; static volatile int b; int main(void) { b...

Метод создает нечитаемый файл
Необходимо чтобы содержимое datagridview сохранялось в документ word private void ToWord(DataGridView dgv,string filename) { ...

При инициализации окна вызывать обобщенный метод
Для представления простых объектов вида (Ид, Наименование) есть класс SimpleObject. Для получения объекта из XML файла есть статический...

81
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
13.09.2018, 15:40
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Lego9 Посмотреть сообщение
То есть как мне создать соответствие между вью и вьюмодель?
...Какой-то вопрос не понятный...
Так же как обычно. Или создаёте свойства зависимостей, или реализуете интерфейс INotifyPropertyChanged.
Что-то не пойму я Ваш вопрос.
0
13.09.2018, 16:53

Не по теме:

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Вам лучше перейти на C# + WPF. https://www.cyberforum.ru/wpf-silverlight/
Тоже хочу попробовать перейти с VB.NET на C# + WPF. Не дают мне покоя скучные и уныло выглядящие WinForm, хочется чего-то более современного, что как раз можно реализовать на WPF.
Ты книги или что-то читал?
С чего начать?
Посоветуй пожалуйста какие-то отправные точки.

0
13.09.2018, 16:57

Не по теме:

Дядя Корней,

  1. Перейти на C# по причинам, показанным в 19 посте. Ну, если вы себе не враг.
  2. Изучать по книгам:

0
13.09.2018, 17:06

Не по теме:

Цитата Сообщение от Дядя Корней Посмотреть сообщение
Тоже хочу попробовать перейти с VB.NET на C# + WPF
Сразу предупреждаю - я новичок. Начал переход меньше 2 месяцев назад. Немного помогло, что давно (лет 30 назад) была практика на Си. Ещё без плюсов, по моему. Подвинуло а это, то что платформа Net сама реализована на C# и WinForms и WPF. Многие "притянутые за уши" реализации в VB становятся понятнее когда начинаешь осваивать C#.
Для WPF ( из начального, простого) очень доступно объясняется на WPF - Windows Presentation Foundation и Руководство по WPF. Я с этого начинал.

0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
13.09.2018, 17:49  [ТС]
Цитата Сообщение от Элд Хасп Посмотреть сообщение
...Какой-то вопрос не понятный...
Так же как обычно. Или создаёте свойства зависимостей, или реализуете интерфейс INotifyPropertyChanged.
Что-то не пойму я Ваш вопрос.
Элд Хасп, Это он от того непонятный, что я так мало видимо могу, что даже спросить внятно не получается. Я объясню. Испрользовал MVVM один раз в жизни. Это был проект UWP + C#. Там я использовал MvvM.Cross и EF. И было всё иначе. То есть тогда в режиме реальног времени и с туториалом, мне казалось, что мне всйё понятно.... Я писал конечно больше по аналогии. Сейчас у меня чистый WPF + VB + Sqlite проект. Поэтому я буду очень благодарен буду тому доброму человеку, который объяснит мне коротенько вот это:
Цитата Сообщение от Элд Хасп Посмотреть сообщение
Так же как обычно. Или создаёте свойства зависимостей, или реализуете интерфейс INotifyPropertyChanged.
. Пожалуйста.
0
399 / 318 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
13.09.2018, 17:59
Элд Хасп, Rius, спасибо мужики! Буду потихоньку вникать.

Не по теме:

Воткнул бы + в репутацию, но в оффтопных сообщениях нет кнопок репутации.

Элд Хасп, я и сам новичок :) Просто увлекаюсь, как хобби.

0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
13.09.2018, 20:26
Цитата Сообщение от Lego9 Посмотреть сообщение
объяснит мне коротенько вот это:
Это несколько глав из учебника. Прочитайте по ссылке из пост #24.
Прочитаете, что не понятно поинтересуетесь.
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
14.09.2018, 14:52  [ТС]
Элд Хасп, Не все таки не фига не работает перемещение между страницами *.xaml

VB.NET
1
2
3
4
5
6
Private Sub button1_Click(sender As Object, e As RoutedEventArgs)
       
       1. Dim ns As NavigationService = NavigationService.GetNavigationService(Me)
       2. ns.Navigate(New Uri("page2.xaml", UriKind.Relative))
       
End Sub
Это не работает: строка 2 выкидывает вот такую ошибку. Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. - Ссылка на объект не была установлена в экземпляр объекта.

Почему-то ни фига не ищется, на эту тему. Как перейти со страницы page1.xaml на страницу page2.xaml????

Могу только так:
VB.NET
1
2
3
Dim p2 As New Page2
       p2.Show()
       p1.Close()
Но это же бред, каждый раз новое окно открывать....
Я пару дней назад тут уже вопрос задавал мне показалось что нашел, но нет...
Помогите плиз
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
15.09.2018, 13:42
Цитата Сообщение от Orlangur1991 Посмотреть сообщение
Элд Хасп, а это от студии зависит? У меня такого нет
Извините, не заметил этого поста сразу.
Вы не по адресу общаетесь. Я C#, WPF осваиваю только пару месяцев. Как оно должно быть, как оно есть и т.п. - я не знаю.

Добавлено через 10 минут
Цитата Сообщение от Lego9 Посмотреть сообщение
Не все таки не фига не работает перемещение между страницами *.xaml
Я сразу сказал Вам, что не понятно, что Вы просите. Вы изначально писали за навигацию между формами, а их в WPF нет. Я подумал, что Вы спрашиваете о вызове окон, о чём и написал в посте с вариантом решения. А здесь, как выяснилось, Вы интересуетесь навигацией по страницам. Это разные вещи и реализуется по разному.
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
15.09.2018, 13:59  [ТС]
Я сразу сказал Вам, что не понятно, что Вы просите. Вы изначально писали за навигацию между формами, а их в WPF нет. Я подумал, что Вы спрашиваете о вызове окон, о чём и написал в посте с вариантом решения. А здесь, как выяснилось, Вы интересуетесь навигацией по страницам. Это разные вещи и реализуется по разному.
Хорошо, я наверное неправильно спросил, объясните плиз как осуществляется навигация по странцам. Так, как я написал, не работает...
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
15.09.2018, 16:19
Цитата Сообщение от Lego9 Посмотреть сообщение
...как осуществляется навигация по страницам...
Вы поймите - это же зависит от организации Вашей программы. От того где, в каком порядке создаются Ваши объекты.
Общее правило такое. Если создаёте объект который где-то используете в других разных объектах, методах, создавайте его уровнем Выше, чем объекты где будете его использовать. Или передавайте его (ссылку на него) в методы в явном виде.

Добавлено через 10 минут
Если брать уровень Application, то можно открыть страницу там
VB.NET
1
2
3
Class Application
        p1 As New Page1
        p2 As New Page2
А в методах ниже вызывать так
VB.NET
1
2
       p2.Show()
       p1.Hide()
или так
VB.NET
1
2
       Application.p2.Show()
       Application.p1.Hide()
Добавлено через 6 минут
Цитата Сообщение от Lego9 Посмотреть сообщение
.....
2. ns.Navigate(New Uri("page2.xaml", UriKind.Relative))
.........
строка 2 выкидывает вот такую ошибку....
У Вас в этой строке создаётся новый объект New Uri(....)
И ошибка не связанна с доступом к ранее созданным объектам.
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
15.09.2018, 18:03  [ТС]
У Вас в этой строке создаётся новый объект New Uri(....)
И ошибка не связанна с доступом к ранее созданным объектам.
Я не понимаю простите... �� Скажите, всё - таки возможно как-то использовать *. Navigate? Я не хочу одну страницу закрывать а другую открывать. Я хочу между ними перемещаться!
Это не льзя? ��
0
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
15.09.2018, 23:13
Насколько мне известно, различают три типа приложений WPF:
Windows – аналог WinForm;
Navigation – страничное приложение (похоже на веб-сайт, но настольная система);
XBAR – похоже на Navigation но развертывается на веб-сервере.
Если говорить о Navigation, то для навигации по страницам возможно использование класса NavigationService
VB.NET
1
2
3
4
Private Sub Button1_Click_1(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Dim ns As NavigationService = NavigationService.GetNavigationService(Me)
    ns.Navigate(New Uri("page2.xaml", UriKind.Relative))
End Sub
И это работает, никаких проблем нет.
Можно также использовать гиперссылки
XML
1
2
3
<TextBlock Margin="139,109,445,365" Name="TextBlock2" Width="100"> Open <Hyperlink NavigateUri="Page2.xaml">Page2</Hyperlink>  </TextBlock>
<TextBlock Margin="139,133,445,341" Name="TextBlock3" Width="100">Open <Hyperlink NavigateUri="Page3.xaml">Page3</Hyperlink></TextBlock>
<TextBlock Margin="139,157,445,317" Name="TextBlock4" Width="100">Open <Hyperlink NavigateUri="Page4.xaml">Page4</Hyperlink></TextBlock>
Можно одну страницу встроить в другую в виде фрейма (Page2 в Page1)
XML
1
<Frame Height="130" HorizontalAlignment="Left" Margin="12,216,0,0" Name="Frame1" VerticalAlignment="Top" Width="291" Source="Page2.xaml" />
Миниатюры
VS не создает метод инициализации   VS не создает метод инициализации  
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
15.09.2018, 23:26
Цитата Сообщение от Lego9 Посмотреть сообщение
Я не понимаю простите...
К сожалению из Ваших объяснений я также не понимаю чего Вы хотите осуществить.
Цитата Сообщение от Lego9 Посмотреть сообщение
Скажите, всё - таки возможно как-то использовать *. Navigate?
Конечно, можно! Но как - зависит от приложения. А что у Вас там, я ни как понять не могу. Посмотрите примеры ovva пост #33. Может он Вам поможет?
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
16.09.2018, 10:23  [ТС]
Господа большое спрасибо за ответы. Я не понимаю, почему вы меня не понимаете... Вот это:
VB.NET
1
2
3
4
Private Sub Button1_Click_1(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
    Dim ns As NavigationService = NavigationService.GetNavigationService(Me)
    ns.Navigate(New Uri("page2.xaml", UriKind.Relative))
End Sub
Не работает, я уже 3-тий раз об этом пишу. Уже совсем чистый проект сделал из 2х пустых страниц.
Выкидывает вот такую ошибку:. Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. - Ссылка на объект не была установлена в экземпляр объекта.

Именно поэтому прошу помощи!
0
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
16.09.2018, 13:44
Цитата Сообщение от Lego9 Посмотреть сообщение
Уже совсем чистый проект сделал из 2х пустых страниц.
Как вы это делаете? Опишите.
0
4709 / 3662 / 857
Регистрация: 02.02.2013
Сообщений: 3,518
Записей в блоге: 2
16.09.2018, 14:28
Вот описание как нужно делать.
Создание проекта Navigation (использовано VS2010):
1. Открыть New Project и выбрать WPF Application
2. В Solution Explorer удалить MainWindow.xaml
3. Выполнить Project/Add Page (Page1)
4. В Solution Explorer открыть в редакторе Application.xaml (двойной клик) и заменить StartupUri="MainWindow.xaml" на StartupUri="Page1.xaml"
5. Выполнить Project/Add Page (Page2)
6. На Page1 добавить кнопку и код обработки
VB.NET
1
2
Dim ns As NavigationService = NavigationService.GetNavigationService(Me)
ns.Navigate(New Uri("page2.xaml", UriKind.Relative))
Вложения
Тип файла: rar WpfNavigationTest.rar (10.8 Кб, 7 просмотров)
2
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
16.09.2018, 23:34  [ТС]
ovva, спасибо, что отвечаете, ибо я так понимаю тема интереса не представляет. Все работает, как и должно. И то, что у меня не работает, должно представляться блажью, криворукостью и отрицательной кармой. Но вот так...
Делал, буквально, с точностью до запятой, как описано...
Цитата Сообщение от ovva Посмотреть сообщение
Создание проекта Navigation (использовано VS2010):
1. Открыть New Project и выбрать WPF Application
2. В Solution Explorer удалить MainWindow.xaml
3. Выполнить Project/Add Page (Page1)
4. В Solution Explorer открыть в редакторе Application.xaml (двойной клик) и заменить StartupUri="MainWindow.xaml" на StartupUri="Page1.xaml"
5. Выполнить Project/Add Page (Page2)
6. На Page1 добавить кнопку и код обработки
Извините...
0
0 / 0 / 0
Регистрация: 20.01.2014
Сообщений: 259
17.09.2018, 12:51  [ТС]
Господа, может всё же еще у кого есть идеи откда ноги растут?
Выкидывает всё ту же ошибку, при вызове метода Navigate.
**Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. - Ссылка на объект не была установлена в экземпляр объекта.

Через открыть-закрыть всё работает
VB.NET
1
2
3
Dim myPage2 As New Page2 
myPage2 .Show()
myPage1.Close()
Добавлено через 37 минут
Так, кажется нашел. Как компоненты моего WPF приложения выступают не WPF - страницы, а WPF формы.
Отсюда вопрос. Почему это критично. В чем разница. Я думал только в отображении. Как это преодолеть? В смысле можно-ли перемещаться с помощью *.Navigate, между формами? И если нельзя, то, как можно?

Добавлено через 38 минут
И как преобразовать проект где создавал новые Window в проект, где все так же но с Page? Я никде куда смог дотянуться в свойствах проекта, в конфиг, в коде элементов(Page - Window), никаких отличий не нашел...
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,176
Записей в блоге: 2
17.09.2018, 13:07
Цитата Сообщение от Lego9 Посмотреть сообщение
В смысле можно-ли перемещаться с помощью *.Navigate, между формами?
Нет, нельзя. Navigate для Page.

Добавлено через 1 минуту
Цитата Сообщение от Lego9 Посмотреть сообщение
И как преобразовать проект где создавал новые Window в проект, где все так же но с Page?
Различий много, придётся переписывать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.09.2018, 13:07

Какой метод вызывается при инициализации объекта
Всем привет. У меня есть функция которая возвращает объект класса Point. Point func() { ... Point t; return t; } Я...

Как вызвать метод OnPaint при инициализации формы
protected override void OnPaint(PaintEventArgs e) { Bitmap bmp = new Bitmap(75, 75); Graphics g =...

Нужно создать класс или метод в который будет служить для загрузки и инициализации переменных
Нужно создать класс или метод который будет служить для загрузки и инициализации переменных. Есть куча переменных который можно достать...

ASP не создает объект, VB создает!
на строчке типа set bbb=server.createobject('project1.obj') ASP говорит 'Интерфейс не поддерживается', в то время как при выполенеии того...

СЛАУ. Метод обратной матрицы, метод Гаусса, метод Крамера, метод Зейделя
Помогите ребят. Не могу построить алгоритмы для этих методов Язык C++


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru