Преобразование требует XamlReader и XamlWriter.
Есть два автора писем и пять читателей. Конечно, вы можете создать свой собственный.
Таким образом, метод Transform позволяет объединить одного из читателей и одного из авторов для передачи / перевода / преобразования xaml из одного места в другое.
Есть несколько сценариев, когда свободный Xaml полезен, но для меня самые очевидные два:
- Определения рабочих процессов и
- Генератор времени исполнения / генераторы пользовательского интерфейса
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();
}
Ничего особенного, но просто удобного, чтобы вам не приходилось писать это самостоятельно.