将图像添加到Windows工作流自定义活动设计器

时间:2018-02-26 14:39:30

标签: c# .net workflow-foundation-4 workflow-foundation

我正在使用设计器在Windows工作流程中开发一些自定义活动,为用户添加一些不错的自定义外观。虽然我在实际的工作流视图中加载图像时遇到问题,但我已经能够完成WPF中的所有操作。这就是它在设计师中的样子

enter image description here

<sap:ActivityDesigner.Resources>
    <DataTemplate x:Key="Collapsed">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition MaxWidth="40"/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
            <Image MaxWidth="40" MaxHeight="20" Grid.Column="0" HorizontalAlignment="Left" Source="pack://application:,,,/Images/Web.ico"></Image>
            <Label VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Grid.Column="1">Collapsed View</Label>
        </Grid>
    </DataTemplate>
    <DataTemplate x:Key="Expanded">
     <Grid>
    <Label>hi</Label>
    </Grid>

    </DataTemplate>

    <Style x:Key="ExpandOrCollapsedStyle" TargetType="{x:Type ContentPresenter}">
        <Setter Property="ContentTemplate" Value="{DynamicResource Collapsed}"/>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Path=ShowExpanded}" Value="true">
                <Setter Property="ContentTemplate" Value="{DynamicResource Expanded}"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</sap:ActivityDesigner.Resources>
 <Grid>
    <ContentPresenter Style="{DynamicResource ExpandOrCollapsedStyle}" Content="{Binding}" />
</Grid>
</sap:ActivityDesigner>

但在Visual Studio 2015中创建工作流时,它看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:2)

我发现的是图像需要包含命名空间。图片标记看起来应该类似于:

<Image MaxWidth="40" MaxHeight="20" Grid.Column="0" HorizontalAlignment="Left" 
       Source="pack://application:,,,/MyNamespace;component/Lookup.png"></Image>

Lookup.png的构建操作应该是&#34;资源&#34;。