Встроить пользовательский элемент управления в WPF FlowDocument - PullRequest
0 голосов
/ 16 августа 2011

Есть ли способ встроить пользовательский элемент управления в документ Flow и правильно отобразить его в средствах просмотра FlowDocument (экспортировать его в текстовый файл Xaml и открыть его средством просмотра)?

Ответы [ 2 ]

4 голосов
/ 16 августа 2011

да используйте BlockUIContainer или InlineUIContainer

<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:l="clr-namespace:MyNamespace;assembly=MyAssembly">
    <BlockUIContainer>
        <l:MyCustomControl/>
    </BlockUIContainer>
</FlowDocument>

. Обратите внимание, что везде, где находится ваш зритель, необходимо иметь доступ + доверие, чтобы использовать сборку с пользовательским элементом управления. Самый простой способ добиться этого - это иметьсредство просмотра в той же сборке, что и элемент управления.

1 голос
/ 16 августа 2011

Если под пользовательским элементом управления вы имеете в виду UserControl или любой пользовательский элемент управления, унаследованный от элемента управления WPF, вы не можете: Этот пользовательский элемент управления находится в своем собственном пространстве имен XML и требует кода, развернутого в сборке. Ваш читатель XAML не будет иметь к нему доступа при попытке синтаксического анализа файла и не сможет это сделать.

Вы можете использовать только элементы управления, предоставленные Microfost и развернутые вместе со средством просмотра. Может быть, возможно, чтобы зрители знали о сборках, развернутых в GAC, но это решение, только если вы можете развернуть в клиентском GAC.

...