2013-05-29 4 views
2

Я программировал в java уже пару лет. Недавно я решил, что пришло время внести изменения и изучить C#.C# Пользовательский интерфейс

Теперь, поскольку это и визуальная студия, и C# для меня нова, я решил, что, поскольку я должен ее изучать, в любом случае, я мог бы изучить новейшие инструменты.

Однако я не могу узнать, что использовать GUI liberay. мой первый поиск показал, что WPF - это новейшая «lib» для создания пользовательского интерфейса Microsoft. Многие другие потоки дали указание на то, что это может быть не так.

Поэтому я прошу вас, ребята, что такое новейший пользовательский интерфейс «lib» для C# и что бы вы посоветовали мне использовать?

+1

WPF был бы хорошим, чтобы учиться. Может быть, сначала получить базу знаний о формах окон. –

+1

WPF должен быть без проблем, по крайней мере, если вы нацелены на * текущую тахологию *. Если вы начнете с WinForms, вам придется в значительной степени не узнать все, что вы получили из WinForms, чтобы правильно использовать WPF, поэтому пропустите устаревшее дерьмо и перейдите в WPF :) –

+0

@retailcoder +1 только для «устаревшего дерьма». Я не мог бы сказать это лучше себя ... –

ответ

1

Существует два основных аспекта GUI (не считая сети): WPF и Windows Forms. WPF гораздо более свежий, и если у вас нет опыта работы с Windows Forms, WPF может быть рекомендован альтернативным графическим интерфейсом.

В настоящее время WPF может иметь несколько «ароматов» - он отличается разнообразием в настольных приложениях, приложениях Silverlight и приложениях для хранения окон, настольных приложений, имеющих большинство функций, два других имеют ограниченный набор, в основном из-за производительности и (например, вы не можете отображать пользовательский интерфейс для изображений в приложениях хранения Windows, но в настольных приложениях вы можете).

WPF имеет лучшую поддержку аппаратного ускорения, имеет лучшую привязку и поддержку async/threading, гораздо более гибкая, многие элементы могут быть очень легко изменены - что не так легко сделать в Windows Forms, например, в комбинированном поле - вы можете легко изменить цвет в Windows Forms, но если вам понадобятся закругленные края, это будет сложно.
Также WPF можно легко использовать в шаблоне MVVM, что довольно сложно в Windows Forms.

Windows Forms, с другой стороны, немного легче изучить + плюс у него очень хорошие сторонние компоненты - например, Telerik, Devexpress. У обоих поставщиков есть компоненты для WPF, но они не так хороши, как Windows Forms, главным образом потому, что они были разработаны с использованием знаний Windows Forms, что не соответствует WPF.

+0

Благодарим вас за ответ, возможно ли, что вы можете опубликовать некоторые уроки, которые я могу использовать в WPF? То есть, если вы знаете какой-либо –

+0

У меня нет ничего особенного, но я бы искал учебники/видеоролики WPF + Blend, так как Blend является важной частью разработки WPF, на мой взгляд. – Giedrius

+1

привязка данных WPF не только * лучше, чем в WinForms * - это полностью * ориентировочно *, как вы должны думать о дизайне пользовательского интерфейса. –

1

Как указано Giedrius, либо Windows Forms, либо WPF.

Лично я бы начал с Форм в течение нескольких недель, познакомился с окружающей средой, затем перешел к WPF и прекрасному миру XAML.

1

WPF - это правильная технология, если вы ориентируетесь на пользователей с хорошими машинами. Он использует мощь графической карты и поддерживает векторную графику. Вы получите хорошую скорость разработки с помощью системы XAML и многое другое

Если вы ищете какие-либо элементы управления третьей стороной, вы можете оценить Infrajistics или Telerik. Но в зависимости от ваших требований пользовательского интерфейса.

1

Что касается новейших технологий, то WPF, безусловно, тот, который я бы рекомендовал вам изучить, но между WPF и WinForms существует довольно высокий уровень совместимости, то есть вы можете размещать элементы управления WinForm в WPF и (я думаю) наоборот ,

Одна вещь, о которой нужно знать, это то, что WPF - совершенно другой зверь для winforms - вы все равно можете сделать обычное перетаскивание, но для причудливых вещей вам нужно менять XAML, и это может занять немного головы вокруг.

Редактировать - это стоит приложить усилия, чтобы изучить WPF, хотя из-за того, что после этого вы будете легко создавать богатые интерфейсы.

1

Для чего-либо до Windows 8, то последним является WPF. Начиная с Windows 8 у вас есть Metro (имя изменено, я знаю), но тогда вы все равно можете использовать свои недавно приобретенные навыки XAML (взятые из WPF) или начать входить в HTML 5 и CSS 3, которые также оставят вас в хорошем положении для веб- приложений.

Win Forms старше WPF, но все еще хорошо любимый/установленный и может быть полезен в местах. Как и большинство вещей, выберите правильный инструмент для работы.

+0

вы можете назвать одну единую область, где кто-то выбирал бы winforms динозавров вместо красивой, масштабируемой, основанной на вексе, WPF на основе XAML? –

+0

@HighCore - Ха, ха ... Мне жаль, что это не может быть WPF! Как я уже сказал, все зависит от того, что вы делаете. Для одного, если вы работаете в компании с большим набором сторонних элементов управления Win Forms (например, Telerik, Infragistics), но не сопоставимы с версиями WPF (я работал в таких компаниях, содрогаясь). Еще один пример реального мира, который, к счастью, становится реже, работает на более старых технологиях, таких как Windows 2000 (опять же, мне пришлось это поддержать), тогда Win Forms станет единственным выбором. В идеальном мире вы будете идти WPF на всем пути, но жизнь редко бывает такой! :-) – Belogix

+1

@HighCore - WinForms довольно распространен в задачах программирования корпоративного типа. Существует много устаревшего кода, устаревших средств управления и старых программистов, которым требуется его использование. То же самое можно сказать о таких вещах, как Entity Framework, LINQ, MVC и т. Д. ... – jfrankcarr

1

Я рекомендую вам изучить html, css и js. Насколько я знаю, вы можете создавать приложения Microsoft Windows 8. .NET с использованием этих языков. Проверьте here, и также было бы полезно, если вы решите создать веб-приложение, где также используются все эти языки.

Если вы не хотите ограничивать себя с помощью Windows 8, попробуйте WPF. Приложения на WPF смогут работать на любом компьютере с версией фрейма .net, которую вы использовали для приложения.

GL

+0

-1. HTML не содержит свечи для XAML. –

+1

+1 Вопрос спрашивал, что такое новейшая «lib», а HTML/CSS/js соответствует этому описанию, а также то, что мы посоветуем. Я думал, что этот ответ поставил вопрос. И HTML/CSS/js, вероятно, являются технологиями будущего ... –

+1

@ChrisSpicer, когда вы можете '' в HTML, тогда вы можете сказать, что это полезно. до тех пор он не держит свечу. период. и btw, javascript? Ты шутишь? –

0

Как уже отмечалось, WPF является путь.

Одна вещь, о которой не упоминалось, заключается в том, что (поскольку у вас есть опыт Java) вы можете думать о WPF и других технологиях (таких как winforms) так же, как вы можете думать о JavaFX и предыдущих java-интерфейсах пользовательского интерфейса (например, Swing).

На самом деле, JavaFX кажется очень плохой копией WPF. язык, используемый для определения пользовательского интерфейса, основан на XML (например, XAML), он имеет (гораздо более плохую) поддержку DataBinding и многие другие сходства.