Когда вы будете использовать XamlServices.Transform ()? - PullRequest
4 голосов
/ 12 декабря 2010

Я просматриваю документацию MSDN для пространства имен System.Xaml и, в частности, класса XamlServices. Мне интересно, какой будет вариант использования метода XamlServices.Transform ?

Я ничего не имею против этого, я просто не вижу случая, когда это было бы полезно, и мне интересно, чего мне не хватает.

1 Ответ

1 голос
/ 27 августа 2012

Преобразование требует XamlReader и XamlWriter.

Есть два автора писем и пять читателей. Конечно, вы можете создать свой собственный.

Таким образом, метод Transform позволяет объединить одного из читателей и одного из авторов для передачи / перевода / преобразования xaml из одного места в другое.

Есть несколько сценариев, когда свободный Xaml полезен, но для меня самые очевидные два:

  1. Определения рабочих процессов и
  2. Генератор времени исполнения / генераторы пользовательского интерфейса

EDIT

Это код из метода Transform:

public static void Transform(XamlReader xamlReader, XamlWriter xamlWriter, bool closeWriter)
{
    if (xamlReader == null)
        throw new ArgumentNullException("xamlReader");
    if (xamlWriter == null)
        throw new ArgumentNullException("xamlWriter");
    IXamlLineInfo xamlLineInfo = xamlReader as IXamlLineInfo;
    IXamlLineInfoConsumer lineInfoConsumer = xamlWriter as IXamlLineInfoConsumer;
    bool flag = false;
    if (xamlLineInfo != null && xamlLineInfo.HasLineInfo && (lineInfoConsumer != null && lineInfoConsumer.ShouldProvideLineInfo))
        flag = true;
    while (xamlReader.Read())
    {
        if (flag && xamlLineInfo.LineNumber != 0)
            lineInfoConsumer.SetLineInfo(xamlLineInfo.LineNumber,xamlLineInfo.LinePosition);
        xamlWriter.WriteNode(xamlReader);
    }

    if (!closeWriter)
        return;
    xamlWriter.Close();
}

Ничего особенного, но просто удобного, чтобы вам не приходилось писать это самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...