Расширения разметки в WPF/Silverlight

Вы пробовали API коллекций проектов ?

Пример запроса:

GET https://mytfsserver/DefaultCollection/_apis/projectCollections/d81542e4-cdfa-4333-b082-1ae2d6c3ad16?api-version=1.0-preview.2

Пример ответа:

{
    "id": "d81542e4-cdfa-4333-b082-1ae2d6c3ad16",
    "name": "DefaultCollection",
    "url": "https://mytfsserver/DefaultCollection/_apis/projectCollections/d81542e4-cdfa-4333-b082-1ae2d6c3ad16",
    "state": "Started",
    "_links": {
        "self": {
            "href": "https://mytfsserver/DefaultCollection/_apis/projectCollections/d81542e4-cdfa-4333-b082-1ae2d6c3ad16"
        },
        "web": {
            "href": "https://mytfsserver/DefaultCollection"
        }
    }
}

Существует также ссылка на некоторый пример кода C #.

using Microsoft.TeamFoundation.Core.WebApi;
using Microsoft.VisualStudio.Services.Common;
using Microsoft.VisualStudio.Services.WebApi;
using System;
using System.Collections.Generic;

namespace Microsoft.TeamServices.Samples.Client.ProjectsAndTeams
{
    [ClientSample(CoreConstants.AreaName, CoreConstants.ProjectCollectionsResource)]
    public class ProjectCollectionsSample : ClientSample
    {

        [ClientSampleMethod]
        public IEnumerable ListProjectCollections()
        {         
            VssConnection connection = Context.Connection;
            ProjectCollectionHttpClient projectCollectionClient = connection.GetClient();

            IEnumerable projectCollections = projectCollectionClient.GetProjectCollections().Result;

            foreach(var collection in projectCollections)
            {
                Console.WriteLine(collection.Name);
            }

            return projectCollections;
        }

    }
}

7
задан Charles Graham 4 March 2009 в 01:16
поделиться

2 ответа

Пример был бы для Локализации:

Простой и эффективный способ локализовать ресурсы приложений состоит в том, чтобы записать пользовательский MarkupExtension, который обеспечивает локализованное значение. Расширение берет параметр, который является уникальным ключом ресурса... [и затем] ищет значение от универсального провайдера ресурсов.

Примечание: Вы не можете записать пользовательские расширения разметки в Silverlight.

9
ответ дан 6 December 2019 в 15:32
поделиться

Да это удобно, и я создал тот сам. Я создал расширение разметки под названием EvalBinding, который берет ряд привязки в качестве дочерних элементов и строки оценки C#. Это оценивает C# для обработки значений от дочерней привязки так, чтобы я не должен был создавать много простых классов TypeConverter.

Например, я могу сделать это...

<EvalBinding Eval="(this[0] > this[1] ? 'GT' : 'LTE')">
    <Binding ElementName="element1" Path="Size"/>
    <Binding ElementName="element2" Path="Size"/>
<EvalBinding>

Где это - ссылка на массив ребенка, связывающего результаты.

Для ресурсов при реализации MarkupExtension...

MSDN

Запись в блоге Josh Smith

Запись в блоге Rob Relyea

4
ответ дан 6 December 2019 в 15:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: