1

Я прочитал несколько учебников/блоги/StackOverflow вопрос об этом, в том числе следующие:Workflow Foundation 4 в VS 2015 - активность инструментария растровых изображений не показывать

и многие другие.

Большинство из них устарели. Некоторые из них указывают на то, что имя библиотеки дизайнера деятельности должно заканчиваться Design.dll, другое говорит, что оно должно заканчиваться VisualStudio.Design.dll. Некоторые говорят, что библиотека должна быть развернута на визуальном пути bin-студии, другие говорят, что ее не требуется.

Все это очень сбивает с толку.

я могу сделать деятельность TOOLBOX растрового изображения, чтобы показать правильно только при использовании ToolboxBitmapAttribute непосредственно на деятельности, и только тогда, когда встроенный BMP иконка в библиотеке деятельности, например:

[ToolboxBitmap(typeof(MyActivity), "Resources.Bitmaps.MyActivity.bmp"] 
public class MyActivity : CodeActivity 
{ 
} 

Если я переместить растровые изображения в библиотеку конструктора действий, ссылаясь на библиотеку конструктора действий в библиотеке действий и используя ToolboxBitmapAttribute непосредственно в действии (с правильным внедренным путем и использованием типа из библиотеки конструктора действий) - это не работает.

[ToolboxBitmap(typeof(MyActivityDesigner), "Resources.Bitmaps.MyActivity.bmp"] 
public class MyActivity : CodeActivity 
{ 
} 

Если я использую интерфейс IRegisterMetadata в библиотеке ActivityDesigner, регистрируя ToolboxBitmapAttribute к типу MyActivity в хранилище метаданных:

AttributeTableBuilder builder = new AttributeTableBuilder(); 
builder.AddCustomAttributes(typeof(MyActivity), new DesignerAttribute(typeof(MyActivityDesigner))); 
builder.AddCustomAttributes(typeof(MyActivity), new ToolboxBitmapAttribute(typeof(MyActivityDesigner), "Resources.Bitmaps.MyActivity.bmp")); 
MetadataStore.AddAttributeTable(builder.CreateTable()); 

Еще нет инструментов растрового для деятельности.

Деятельность Дизайнер работает просто отлично!

Похоже, что VS загружает библиотеку MyActivities.Design.dll, но по какой-то причине игнорирует ToolboxBitmapAttribute.

Буду признателен за это.

ответ

0

Возможно, вы захотите изучить свойство Icon ActivityDesigner. Удостоверьтесь, что изображение находится в проекте дизайнера деятельности и помечено как «Ресурс по строительному действию»:

<sap:ActivityDesigner.Icon> 
    <DrawingBrush> 
     <DrawingBrush.Drawing> 
      <ImageDrawing> 
       <ImageDrawing.Rect> 
        <Rect Location="0,0" Size="25,25" ></Rect> 
       </ImageDrawing.Rect> 
       <ImageDrawing.ImageSource> 
        <BitmapImage UriSource="MyActivityIcon.png" /> 
       </ImageDrawing.ImageSource> 
      </ImageDrawing> 
     </DrawingBrush.Drawing> 
    </DrawingBrush> 
</sap:ActivityDesigner.Icon> 
+0

Спасибо за ваш ответ Jota. К сожалению, это не проблема. Как я сказал в своем посте, сам ActivityDesigner работает безупречно, с иконками и еще много чего. Проблема связана с растровым изображением Toolbox (маленьким 16X16 изображением активности на панели инструментов в VisualStudio). – Roman

Смежные вопросы