Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
23.11.2011, 17:19
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Нужно при старте WPF приложения показать окошко WinForm из библиотеки, и на основании введенных в него данных показать/непоказать уже главное WPF окно приложения. Вот не могу понять куда лучше приткнуть вызов окошка и обработку его данных. Пока додумался до того что создал класс, в котором определил Main() и указал его в свойствах проекта как входную точку. Подскажите как подобные штуки обычно делают по уму так сказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 17:29
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
да че, тут все просто. делаешь два exe. первый winforms без параметров второй wpf c параметром. вот ,чтобы wpf не запускали просто так, ему надо передать на вход ключ. этот ключ , как раз передаст winforms приложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 17:40
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
В книге Макдональда про WPF подробно описаны возможности интеграции WPF и WinForms. Я сам это подробно не читал, но Вам может помочь. Предполагаю, что в методе main можно обычным образом показать WinForms-окно через ShowDialog(). Потом по результатам диалога запустить WPF-ное Application.Run(). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 17:41
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
AlexeiK, И в ВинФормс использовать Process.Start ? Не хотелось бы делить сборку. Как прилично сделать в одной сборке? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 17:44
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Алексей К...Предполагаю, что в методе main можно обычным образом показать WinForms-окно через ShowDialog(). Потом по результатам диалога запустить WPF-ное Application.Run(). Да вот таким путем и иду. Просто немного пугает меня то, что метод Main() студия заныкала в скрытые файлы. Я написал свой и из него вызываю уже по результатам диалога студийный App.Main(). Может какой-то есть общепринятый подход, а я пру против течения? (Пугает меня все таки немного этот WPF.) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 17:54
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
как это против течения? это ж лично твоя речка :) а течение тот кто платит. так что сразу поймешь, против или нет :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 17:59
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
AlexeiK, Ну мне как начинающему хотелось бы следовать хорошим практикам. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 18:19
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Lexxxxx, то есть не хочешь думать сам, а хочешь заменить свою голову книжкой с практиками? это плохое направление. ошибка самый великий учитель. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 18:20
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
LexxxxxДа вот таким путем и иду. Просто немного пугает меня то, что метод Main() студия заныкала в скрытые файлы. Я написал свой и из него вызываю уже по результатам диалога студийный App.Main(). Может какой-то есть общепринятый подход, а я пру против течения? (Пугает меня все таки немного этот WPF.)Тоже использовал самописный main в ВПФ. Проблем не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 18:23
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
AlexeiK, Только вот желательно учится на чужих ошибках (которые и выражены в книжках, практиках и прочем). Зачем же топать по граблям если есть путеводители дорожкам между ними?! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 18:36
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Lexxxxx, эээ постой. никто еще не научился на чужих. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 20:58
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
LexxxxxПросто немного пугает меня то, что метод Main() студия заныкала в скрытые файлы зря пугает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 21:42
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Изопропил, Может и зря, но как-то диковато для меня весь этот каркас выглядит. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
23.11.2011, 23:24
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
LexxxxxМожет и зря, но как-то диковато для меня весь этот каркас выглядит. один раз написать и разобраться(без каркаса) - и будет счастье ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 00:06
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Изопропил, Под каркасом я имел в виду WPF Framework. Как-то все не так, как было в винформс, хотя некоторые общие моменты есть. Да плюс накладывается то, что я вообще в .NET не долго и еще далеко не во всем разобрался. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 00:21
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Lexxxxx, я понял о чём речь. Выбросьте App.xaml. очень грубо - Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 01:00
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Изопропил, System.Windows.Forms.Application.Run(new System.Windows.Forms.Form()); ИМНО крутовато. Я просто ShowDialog-ом обхожусь. App.xaml в общем-то не мешает так как в нем почти ничего нет, а вот сам класс Арр быть вроде обязан, ибо является основой модели WPF приложения. Или Вы имеете в виду что если удалить из проекта App.xaml (тут я понимаю нужно как-то обеспечить сохранность App.xaml.cs или еще как-то ввести в проект наследника Aplication?) то студия не будет генерировать App.g.cs и процедуру Main() можно будет написать в файле кода класса-наследника? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 01:17
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Изопропил, Кажется я сначала неправильно понял Ваше предложение. :) Ведь App.xaml и все что к нему студия нагенерила по большому счету не нужно, если в него не навешать каких нибудь своих ресурсов. А нет ли вероятности что потом мне нужен будет этот удаленный наследник Application? Ведь для чего-то в шаблон он включен. Для чего он? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 05:48
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
App.xaml удалять из проекта нельзя. Его обязательно надо создать вручную в рукописном main(). Не забыть добавить в App.xaml.cs дефолтный конструктор, вызывающий InitializeComponent(); ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 09:27
|
|||
---|---|---|---|
|
|||
Правильно показать окно WinForms при старте. |
|||
#18+
В классе Application оверрайдить OnStartup и в нем показать WinForms-форму через ShowDialog чем не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 09:59
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Алексей К, Почему нельзя удалять App.xaml? Ведь можно в классе главного окна сделать метод Main(), в котором сделать Код: plaintext 1. 2. 3. 4. 5. 6. 7.
Весь InitializeComponent() для класса Арр представляет собой this.StartupUri = new System.Uri("MainWindow.xaml", System.UriKind.Relative); и похоже не нужен при использовании Run(new MainWindow()). Почему его нельзя его удалять? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 10:03
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
sandyp, Результаты трудов винформ окошка надо передать в главное окно приложения, а его еще нету когда работает OnStartup. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 10:17
|
|||
---|---|---|---|
|
|||
Правильно показать окно WinForms при старте. |
|||
#18+
Lexxxxx, Если пихать данные во viewmodel, то по идее это не проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 10:24
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
sandypLexxxxx, Если пихать данные во viewmodel, то по идее это не проблема. Честно говоря плаваю я во всех этих "viewmodel". Я бы сформулировал это так: при старте винформ окно вернет некоторый набор параметров, которые потом нужно передать модели данных для ее инициализации. Вот я и думаю передать их в главное окно, которое инициализирует модель и отобразит ее. Возможно это и не правильно, но я не знаю как правильнее. Подскажите, как надо? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
24.11.2011, 11:09
|
|||
---|---|---|---|
Правильно показать окно WinForms при старте. |
|||
#18+
Алексей КApp.xaml удалять из проекта нельзя. Его обязательно надо создать вручную в рукописном main(). Не забыть добавить в App.xaml.cs дефолтный конструктор, вызывающий InitializeComponent(); Надеюсь, это шутка. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=21&mobile=1&tid=1442058]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 420ms |
0 / 0 |