2009-01-16 5 views
0

En WPF, j'ai essayé passer la marge de FixedPage d'un fichier XPS à un contrôle qui a la propriété Content (ex. Button.Content = XamlReader.Load(<FixedPage markup>)).Comment j'utiliser des balises FixedPage sur un contrôle du modèle de contenu?

Exemple de balisage FixedPage:

<FixedPage Width="816" Height="1056" xmlns="http://schemas.microsoft.com/xps/2005/06" xml:lang="und"> 
    <Path Data="M 115.52,132.48 L 704.64,132.48 704.64,908.96 115.52,908.96 z" Clip="M 0,132.32 L 0,908.8 816,908.8 816,132.32 z"> 
     <Path.Fill> 
      <ImageBrush ImageSource="/Documents/1/Resources/Images/1.JPG" Viewbox="0,0,809.333,1066.67" TileMode="None" ViewboxUnits="Absolute" ViewportUnits="Absolute" Viewport="115.52,132.48,589.12,776.48" /> 
     </Path.Fill> 
    </Path> 
</FixedPage> 

Le contrôle n'a pas été en mesure d'obtenir la ressource mentionnée dans le balisage FixedPage.

ImageSource="/Documents/1/Resources/Images/1.JPG" 

Mais si je change le ImageSource dans un fichier de chemin local comme « c: \ 1.jpg » et placez le fichier de ressources dans le même endroit, le contrôle sera en mesure d'afficher le FixedPage MARK en haut

Ma question est, est-il un moyen pour le contrôle d'afficher la page FixedPage tout en conservant l'URI relative de la ressource afin d'éviter de modifier le balisage FixedPage? Comme la cartographie de la structure de fichier XPS dans la mémoire, puis définir le BaseUri du balisage FixedPage par la classe ParserContext lors de l'appel à XamlReader.Load()? Est-ce possible?

Répondre

0

Probablement pas. Même si le ImageBrush peut travailler avec le PackageStore, l'URI est malformé; il manque la racine du document XPS dans le magasin de paquets.

Questions connexes