Привязка пользовательской активности WWF для SharePointOnlineCredentials - PullRequest
0 голосов
/ 07 ноября 2018

Я создал набор пользовательских действий WWF для взаимодействия с SharePoint через CSOM. Я создал приведенную ниже операцию, однако я пытаюсь связать аргументы в конструкторе XAML, я импортировал пространство имен Microsoft.SharePoint.Client в файл XAML, но получаю следующую ошибку (The name "SharePointOnlineCredentials" does not exist in the namespace "clr-namespace:Microsoft.SharePoint.Client") при попытке связать ExpressionType to sp:SharePointOnlineCredentials.

Может кто-нибудь посоветовать, как мне связать ExpressionTextBox ExpressionType с SharePointOnlineCredentials?

Примечание: я понимаю, что часть кода отсутствует, это преднамеренно!

Класс деятельности

using Microsoft.SharePoint.Client;
using System.Activities;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;

namespace Custom_Activities.SharePoint
{
    public sealed class List_To_DataTable : CodeActivity
    {
        [Category("Input")]
        [DisplayName("SharePoint Credentials")]
        public InArgument<SharePointOnlineCredentials> SharePoint_Credentials { get; }

        protected override void Execute(CodeActivityContext context)
        {
            DataTable table = new DataTable();
            //Gets content

            Dt.Set(context,table);

        }
    }
}

XAML Design

<sap:ActivityDesigner 
    x:Class="CS_Activities.SharePoint.Design.List_To_DataTable_Designer"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:sapc="clr-namespace:System.Activities.Presentation.Converters;assembly=System.Activities.Presentation"
    xmlns:sapv="clr-namespace:System.Activities.Presentation.View;assembly=System.Activities.Presentation"
    xmlns:sap="clr-namespace:System.Activities.Presentation;assembly=System.Activities.Presentation"
    xmlns:s="clr-namespace:System;assembly=mscorlib"
    xmlns:sp="clr-namespace:Microsoft.SharePoint.Client">
    <sap:ActivityDesigner.Resources>
        <ResourceDictionary x:Uid="ResourceDictionary_1">
            <sapc:ArgumentToExpressionConverter x:Key="ArgumentToExpressionConverter" />
            <sapc:ModelToObjectValueConverter x:Key="ModelToObjectValueConverter" /> 

    <DataTemplate x:Key="Collapsed">
        <TextBlock VerticalAlignment = "Center" HorizontalAlignment="Right" Grid.Row="0" Grid.Column="0" Margin="5" Text="List Name" />
        <sapv:ExpressionTextBox HintText = "Enter you Sharepoint Credentials" Expression="{Binding Path=ModelItem.SharePoint_Credentials, Mode=TwoWay, Converter={StaticResource ArgumentToExpressionConverter}, ConverterParameter=In }" ExpressionType="sp:SharePointOnlineCredentials" Grid.Row="0" Grid.Column="1" OwnerActivity="{Binding Path=ModelItem}" Width="300" Margin="0,5" MaxLines="1" />
    </DataTemplate>

1 Ответ

0 голосов
/ 07 ноября 2018

Проблема возникла из-за отсутствия ссылки на сборку.

Если вы посмотрите на детали класса на MSDN , пространство имен будет Microsoft.SharePoint.Client, а сборка - Microsoft.SharePoint.Client.Runtime

При изменении xmlns:sp="clr-namespace:Microsoft.SharePoint.Client" на xmlns:sp="clr-namespace:Microsoft.SharePoint.Client;assembly=Microsoft.SharePoint.Client.Runtime" проблема решена.

...