Я должен создать настольное приложение CAD, которое по существу должно иметь хороший современный GUI. Я думаю о создавании приложения WPF так, чтобы у меня мог быть богатый пользовательский интерфейс. Кто-то мог предложить меня хорошо разработанное настольное приложение платформа GUI в WPF? Я нашел некоторый классный GUI в этом видео http://channel9.msdn.com/posts/Psychlist1972/Pete-at-PDC09-WPF-3d-Awesomeness-with-Tor-and-Robby/, но не уверенным в средствах управления, которые они использовали в их приложении. У кого-либо есть идея, какие средства управления они использовали там?
Есть ли в WPF какое-либо управление сеткой свойства? Я пытался использовать сетку в Windows Forms. Настройка этой сетки для удовлетворения моему требованию, кажется, является трудной. Это показывает все свойства объекта прямо от очень базового класса до наиболее полученного.
С WPF, многое возможно. Вы найдете широкий спектр внешний вид на различные приложения из-за того, что, в отличие от форм Windows, WPF может быть шаблон и стилься, как HTML. Фактические дизайнеры могут легко посмотреть и чувствовать, что очень трудно выполнить в формах Windows. Естественно, поскольку оно настолько гибко, внешний вид приложений очень введенных в систему будет отлично варьироваться от применения к применению.
, которые сказали, что есть очень хорошие 3-я сторонние контроль. Все обычные подозреваемые есть библиотеки управления для WPF: Teleerik , , инфрагистик , , компонент , Actipro , devxpress назвать несколько. В частности, Свойство Actipro состоит из недвижимости очень приятно. Существует также One One , которому я не оценил, поэтому не могу говорить. WPF также может быть «теми», применяя предварительно скомпилированные стили для контроля. Здесь есть пример темы: http://wpfthemes.codeplex.com/ .
Наконец, сильные стороны WPF не полностью реализуются до тех пор, пока вы не узнаете, как отделить представление, которая вытягивается и управляется WPF и логической абстракцией вида, называемой моделью View. Джош Смит имеет отличную статью об этом шаблоне, известный как модуль-вид-просмотр, здесь: http://msdn.microsoft.com/en-us/magazine/dd419663.aspx .
Я думаю, что Microsoft не видел точки в том числе недвижимости в WPF, потому что он настолько тривиален для создания собственного, и если они создали контроль, было бы сложнее в стиле.
Чтобы создать свой собственный PropertyGrid, просто используйте
с помощью
, который имеет
, содержащий < TextBlock>
Состыдно влево для имени свойства и
для редактора стоимости, а затем включить группировку в категории
.
Единственный код, который вам нужен для записи код, который отражает на объекте и создает список свойств.
Вот грубая идея о том, что вы будете использовать:
DataContext =
from pi in object.GetType().GetProperties()
select new PropertyGridRow
{
Name = pi.Name,
Category = (
from attrib in pi.GetCustomAttributes(false).OfType<CategoryAttribute>()
select attrib.Category
).FirstOrDefault() ?? "None",
Description = (
from attrib in pi.GetCustomAttributes(false).OfType<DescriptionAttribute>()
select attrib.Description
).FirstOrDefault(),
Editor = CreateEditor(pi),
Object = object,
};
Метод CreateDitor просто построит соответствующий редактор для свойства с помощью привязки к фактическому значению свойства.
В XAML,
было бы чем-то вроде этого:
<DataTemplate>
<DockPanel>
<TextBlock Text="{Binding PropertyName}" Width="200" />
<ContentPresenter DataContext="{Binding Object}" Content="{Binding Editor}" />
</DockPanel>
</DataTemplate>
Я позволю вам заполнить остальные детали.