Что такое WPF для программиста WinForms?

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

def convert(str):
    new_str =str[0]
    quote=False
    for c in str[1:]:
        if c in ["'", '"']:
            if quote==False:
                new_str=new_str+','
            quote=not quote
        if c not in ["'", '"'] and quote==False:
            new_str = new_str + ','+c
        else:
            new_str = new_str + c 
    return new_str
11
задан Dave Clemmer 29 July 2011 в 17:01
поделиться

7 ответов

Visual Studio 2008 contains a WPF Designer.

This video might be of interest: Create a C# WPF Application in Visual Studio 2008

0
ответ дан 3 December 2019 в 08:31
поделиться

The XAML part of a WPF application is vaguely a replacement of the WinForm.Designer.cs file in WinForms.

The WPF model has a better design for the UI and individual controls, fixing a lot of the short-comings of WinForms and guides you to (hopefully) a better Seperation of Concern design.

0
ответ дан 3 December 2019 в 08:31
поделиться

WPF brings

  • Declarative UI Programming: The presentation or look of the UI (XAML) has been separated from the code (.cs et. all) such that the XAML can be created independently by people who are good at that sort of thing - graphic designers. They then submit their finished look to the developers who just write the code to make it work. (Simpler stuff can be handled again directly in XAML) Supposed to give you greater parallelism and good UX (as opposed to developer-approved-UIs)
  • Data Binding: Again a declarative bent.. You declarative specify which model property this UI control renders, WPF takes care of pulling the data into the control & updating modified contents back along with change notifications.
  • Improved Composite Control Model - You can now embed almost anything within anything so now imagination knows no bounds.
  • Data Templates, Control Templates etc.. - again separation of UI from code. These XAML templates specify (once) how a data structure or UI Control should look to the user.
  • Better at X: Ofcourse MS improved on a bunch of other aspects like rendering (fewer updates that GDI), Scaling (resolution independence), Transparency, Layouts (Non-absolute), Text rendering, Animation & Video support, An Improved Event Model, et. all
  • Styles, Triggers : Easier to apply uniform look-n-feel globally with in-one-place styles (XAML again). Triggers are blocks of code that execute when some event occurs e.g. 'the text of this control changed.. so now update its foreground property to blue to indicate "modified"'. Simple stuff can be done directly in XAML.
12
ответ дан 3 December 2019 в 08:31
поделиться

I suppose one way of looking at it would be to consider HTML + CSS webpages. We had HTML and that was great, except things were all jumbled together. What people realized is that with CSS, you could separate the structure of the document from its presentation. XAML does the same thing, or at least allows and encourages it.

As for practical benefits, skim through the MSDN examples. I tend to think WPF is more geared towards so called "rich media", with much more complex elements. Your example of an app that tracks shipping orders isn't a good one, particularly since a number of those systems still run in DOS based interfaces.

1
ответ дан 3 December 2019 в 08:31
поделиться

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

Обычно, когда я пишу приложение WPF, я использую его почти для всего в моем пользовательском интерфейсе. Привязка элементов управления к командам и свойствам модели представления может полностью отделить представление от дизайна, обычно в моем коде нет ни одной строки кода. Это делает мои объекты ViewModel / бизнес-логики легко тестируемыми и полностью независимыми от любого визуального представления, которое, в свою очередь, может быть легко заменено.

0
ответ дан 3 December 2019 в 08:31
поделиться

WPF should be every WinForms programmer's dream: instead of procedurally doing every little thing, it lets you say what the controls are, where to put them, what they look like, and to some extent even how they behave in XAML, while letting you customize behavior in the "code behind". Oh, and the designer can do a lot more for you now than before because of the declarative nature of XAML.

0
ответ дан 3 December 2019 в 08:31
поделиться

Я работал почти исключительно в WinForms в течение последних 4 лет и начал использовать WPF для нескольких небольших проектов на работе. Кривая обучения крутая. Но как только вы к этому привыкнете, оно того стоит.

WPF - это гораздо больше, чем просто визуальный эффект, такой как скиннинг или анимация. Даже для базовых приложений для отслеживания заказов на доставку вы можете использовать WPF. WinForms только берет вас до сих пор с его элементами управления. Если вы хотели отобразить слегка настроенный пользовательский интерфейс, вам часто приходилось выполнять пользовательское рисование в ваших элементах управления с использованием GDI, что может быстро стать кошмаром. В WPF настраивать что-либо тривиально с помощью шаблонов данных. Вы можете легко настраивать элементы списка, добавлять элементы управления в столбцы представления списка или заголовки и т. Д. WPF позволяет управлять сложными макетами пользовательского интерфейса с помощью мощной системы макетов. Я' Я также поражен тем, как мало кода требуется в WPF для выполнения тех же задач, которые я использовал в WinForms, так что это означает меньше ошибок и упрощение обслуживания приложений.

1
ответ дан 3 December 2019 в 08:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: