Internships
Register
Copyright © 2000—2025 JetBrains s.r.o.

WPF Designer

Description

ReSharper - расширение для повышения продуктивности разработки на .NET в среде Visual Studio, включающий в себя средства статического анализа, поиска ошибок, навигации по исходном коду, тестирования и отладки приложений.

Rider - новая кроссплатформенная среда разработки для .NET, использующая ReSharper для анализа кода.

WPF (Windows Presenatation Foundation) - система для построения графических приложений Windows, UI-фреймворк. Для декларативного описания графического интерфейса в WPF используется язык XAML.

При создании UI приложений на базе WPF существует несколько основных проблем:

  • Необходимость запускать приложение, чтобы понять как выглядит получившийся интерфейс

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


  • Использование разных языков при описании логики и интерфейса приложения

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

Первая проблема в рамках Rider'a уже решена. В Rider существует WPF Previewer, который позволяет во время редактирования кода увидеть как будет выглядеть разрабатываемый элемент. Однако разрабочику все еще приходится редактировать XAML чтобы получить результат!

Для решения второй проблемы необходимо на базе WPF Previewer'a написать полноценный дизайнер, который позволит не только видеть как выглядит элемент, но и редактировать его.

Таким образом, задачей стажировки является разработка приложения, строящего по пользовательской xaml-разметке редактируемый UI, изменения которого меняют пользовательскую разметку.

Пример WPF дизайнера, реализованного в Visual Studio

По всем вопросам можно писать на nikita.lyubimov@jetbrains.com или в телеграмм

Requirements

  • C#
  • Базовое знание XAML
  • Желание разобраться с внутренней кухней WPF

Admission

Разработчики: Лето 2021

Mentor

Nikita Lyubimov

Mentor's location

Remote

Product/Team

Rider

Tags

.NET
C#