2008-10-16 3 views

ответ

2

Вы не можете расширить RuleSetDialog класс (так как она запечатана), но вы можете разместить его в своем приложении:

0

Хотя это правда, что расширение диалога не точно поддерживается, вы можете уйти с некоторыми настройками. В предыдущем проекте мне удалось скрыть и изменить некоторые элементы управления диалогового окна во время выполнения.

var dialog = new RuleSetDialog(activityType, null, ruleset); 
dialog.Controls["headerTextLabel"].Visible = false; 
dialog.Controls["pictureBoxHeader"].Visible = false; 

... 

var ruleGroupBox = dialog.Controls["ruleGroupBox"]; 
ruleGroupbox.Top -= 46; 

... etc. 

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

0

Вы можете сделать это полностью с помощью только небольшого взлома: отделите внутренний элемент intellisense textbox от системного пространства System.Workflow.Activities.Rules.Design ... тогда вы можете сделать почти что-нибудь с этим. Разделение означает здесь обычное: создать обертку (адаптер, возможно, элемент управления Textbox), создать экземпляр после разрешения некоторых зависимостей (в худшем случае вы можете просто скрыть редактор исходного правила, парсер и т. Д.).