Лучший способ - полностью удалить элементы Selection
и .Select
, поскольку вам не нужно использовать их для взаимодействия с чем-либо в вашем документе. Однако, поскольку я не знаю достаточно о том, что вы делаете, это должно работать для ваших нужд:
Sub FormatTable(control As IRibbonControl)
'
' FormatTable Macro
'
On Error Resume Next ' allow code to progress even if an error occurs
Selection.Tables(1).Select
If Err.Number <> 0 Then Goto ErrHandler ' Detect an error and step out to handle it
Selection.Tables(1).Style = "Prime Table 1"
Selection.Style = ActiveDocument.Styles("Normal")
On Error Goto 0 'switch off the On Error Resume Next as you really want to limit its use
ErrHandler:
MsgBox "Please Select a Table First"
End Sub
Я не уверен, является ли это сформировавшимся для больших вещей, но это уверенный готово к управляемым базой данных приложениям среднего размера, если это - Ваша чашка чая. Я сделал систему лечения пациентов с помощью Сервера WPF+SQL 2008 и не испытывал так много затруднений.
Ловушки - у меня есть одна - шрифты. Серьезно, как Вы объясняете свой нетехнически подкованный клиент, что нет ничего, что может быть сделано для улучшения рендеринга шрифта WPF относительно XP? Эта область является очень болезненной, и не выглядит, как будто Microsoft обращается к нему. (Исправьте меня, если я неправ.)
Лучшие практики? Umm, да, Вы упоминаете, что связали с данными, который работает вполне хорошо, хотя, конечно, он запрещает четкое разделение уровня несколько. Я на самом деле думаю, что большая часть идеологии, наследованной с эры WinForms все еще, применяется, если Вам удалось начать думать о UI по-другому. Моя лучшая практика для WPF должна была использовать генерацию кода для планирования базы данных в ряд средств управления, сохраненных в a WrapPanel
. На самом деле они переносятся, панели являются большими, потому что они масштабируются к любому размеру экрана, и layouting на самом деле чувствует себя гладким и естественным.
WPF выпустил.NET 3.0. Мы находимся на 3,5 sp1, поэтому если не производство готовый MS имеет много essplainin', чтобы сделать. Откровенно говоря, это было производство, готовое, когда 3.0 вышел.
Я в настоящее время работаю над проектом, который использует WPF для шаблонной обработки и привязки данных (не для дисплея UI, но я использую классы UI для определения шаблонов). Я также использовал WPF для персонального материала. И, вполне откровенно говоря, я должен был бы быть избит сильно для ровного рассматривания использование форм окон для UI. WPF красив в своей простоте и гибкости. Его средства привязки данных являются захватывающими по сравнению с вместе взломанными формами окон обязательные модели. И XAML является революционным шагом в разработке программного обеспечения, по моему скромному мнению.
Привязка данных в WPF не является просто остротой, это также позволяет Вам реализовывать некоторые довольно хорошие архитектурные проекты. Это - хорошее сообщение, которое касается некоторых более популярных. Думайте о нем как MVC/MVP на стероидах.
Короче говоря, выполненный. Не идти.
На самом деле я думаю, что ответ - да и нет...
Никакая часть, по моему опыту, не была инструментами, которые доступны для WPF. Прямо сейчас сегодня это - очень крутая кривая обучения и одна из вещей, которая необходима, отчаянно большие инструменты для создания технологии доступной, например, уровень интеграции смешения выражения / студия и Visual Studio очень плохи. IMO простые задачи должны быть простыми и Сложные задачи, должен быть возможным, со сложными задачами WPF действительно возможные, но простые задачи, сложны также.
Говорить все это, если Вы действительно проходите через кривую обучения и можете справиться с инструментами ниже среднего получающихся приложений, является, конечно, готовым производством.
Я сказал бы да, это - готовое производство, и было некоторое время, но существует несколько протестов с этим:
От имени небольшой компании, основной целью которой является размещение бизнеса компании в приложении. Сразу скажу, что wpf не готов.
Не так просто поддерживать, не (очень) просто, и разработчики тратят слишком много времени на создание правильного пользовательского интерфейса вместо написания бизнес-кода.
Возвращаемся к умному клиенту;)
С уважением, Вим
Важное дело в том, что вы должны адаптироваться к WPF, а не пытаться WPF вам подойти. Вы должны забыть все, что вы знаете о программировании пользовательского интерфейса (winform или spring). Если вы думаете, что WPF похож на winform, ваша жизнь будет болью ... Эта технология готова к производству, это ваш код, который может не быть ... Потратьте время, чтобы узнать о хороших практиках программирования в WPF, и ваш код с WPF будет «готов к производству».
Мой опыт работы с WPF в небольшой команде.
Я бы согласился с Hypo и сказал бы да и нет.
Я один из трех корпоративных разработчиков, мы занимаемся спортом. индустрии и один из проектов - турнирный софт. Недавно я переписал наше приложение для отображения оценок / скобок в WPF. Дисплеи на 100% красивее, но это было непросто. Кривая обучения была огромной, поскольку WinForms связала мощную, но в равной степени сложную. У меня куча проблем с WPF в VS 2008: он вылетает из моей среды IDE не реже одного раза в день, мне часто приходится удалять свои пользовательские файлы или открытие свойств в файле проекта закрывает мою IDE. Анимация запуска на XP SP3 кажется плавной только на 50% наших машин XP sp3, на остальных 50% есть масса уродливых артефактов, и формы не перерисовываются правильно. Мой редактор XAML иногда пугается, и мне приходится закрывать вкладку и снова открывать ее. Все проблемы, которые я цитирую, постоянно возникают на 4 разных машинах.
Мой окончательный ответ «Да» на Рамки. Нет инструментарию, я потратил слишком много времени на борьбу со своей IDE. Нет для небольших команд, которым просто нужно быстро выпустить несколько бизнес-приложений. Когда есть больше элементов управления, тем, шаблон проекта, и он работает под VS. Я могу передумать.
Несмотря на то, что я интенсивно БОЛЬНО изучал WPF / XAML, работать с ним по-прежнему интересно, я часто поражаюсь некоторым интересным вещам, которые вы можете сделать.
Нет для небольших команд, которым просто нужно быстро выпустить несколько бизнес-приложений. Когда есть больше элементов управления, тем, шаблон проекта, и он работает под VS. Я могу передумать.Несмотря на то, что я интенсивно БОЛЬНО изучал WPF / XAML, работать с ним по-прежнему интересно, я часто поражаюсь некоторым интересным вещам, которые вы можете сделать.
Нет для небольших команд, которым просто нужно быстро выпустить бизнес-приложения. Когда есть больше элементов управления, тем, шаблон проекта, и он работает под VS. Я могу передумать.Несмотря на то, что я интенсивно БОЛЬНО изучал WPF / XAML, работать с ним по-прежнему интересно, я часто поражаюсь некоторым интересным вещам, которые вы можете сделать.