Startseite Inhaltsverzeichnis << >>
Kapitel 8 - Dokumentverwaltung
8.1 Grundlagen
Avalon unterstützt direkt durch Komponenten das Anzeigen von
formatieren Text. Dieser Text kann auf Seiten verteilt werden.
Zusätzlich ist die Integration einer Navigation zwischen den
Textseiten möglich. Basis dieser Funktionalität ist
das <PageViewer>-Element, dass unter anderem Zooming und
Scrolling unterstützt.
Der PageViewer benötigt eine externe XML-Datei als
Source-Basis. Um direkt Text anzuzeigen, kann ein Document-Element
genutzt werden.
Beispiel:
Documents1.xaml
<Window xmlns="http://schemas.microsoft.com/2003/xaml"
Background="LightBlue" Width="400" Height="300">
<DockPanel Margin="20,20,20,20">
<PageViewer DockPanel.Dock="Fill" Source="Data.xaml" />
</DockPanel>
</Window>
Dokumentdaten: Data.xaml
<TextPanel xmlns="http://schemas.microsoft.com/2003/xaml/">
Solem aki nudi repuwi widm farusi gemlin kanibu blostra
kemni de ratir tuzibu. <Italic>Solem aki nudi repuwi
kemni de ratir tuzibu.</Italic> Solem aki nudi repuwi
kemni de ratir tuzibu.
</TextPanel>
Zur Darstellung eines Dokuments bietet Avalon zwei vordefinierte
Layouttypen an. Fixed-formatierte Dokumente werden immer gleich
dargestellt (Auflösung etc.). Adaptiv-Flow-Dokumente
verwenden spezielles Markup um die Darstellung für das
jeweilige Ausgabemedium zu optimieren. Dazu muss der Dokumentinhalt in
ein AdaptiveMetricsContext-Element eingefügt werden.
8.2 Das Adaptiv-Flow-Format
Über HTML kann ein Text bereits sehr gut definiert werden.
Allerdings ist später nicht sicher, wie seine Darstellung
erfolgt, da dies von den Browsereigenschaften und der
Bildschirmauflösung abhängig ist. Die durch HTML und
CSS vordefinierten Formate sind letztendlich fix, d.h. besitzen eine
feste Darstellungsform.
Das Hauptelement ist AdaptiveMetricsContext, welches drei wichtige
Attribute besitzt.
Eigenschaft |
Beschreibung |
ColumnPreference
|
Gültige Werte
sind Single (0), Low (1), Medium (2), High (3) und Maximum (4). Sie
legen fest, ob lieber mehrere schmale oder wenige breite Spalten
verwendet werden sollen.
|
MarginPreference |
Beschreibt die relativen
Ränder in einem Dokument. Die Werte dürfen zwischen
0.0 und 0.4 liegen. Der Wert 0.1 ist der Standardwert.
|
FontFamily |
|
FontSize |
|
LineHeightScale |
|
Inline-Tags
AccessKey
Bold
Inline
Italic
SmallCaps
Subscript
Superscript
Underline
Block-Tags
Block
Heading
List
ListElementItem
Note
Paragraph
Section
Table
Special
LineBreak
PageBreak
8.3 Das
Fixed-Format
Eine Seite wird mit einem festen Format über Vektoren definiert.
<Document xmlns="http://schemas.microsoft.com/2003/xaml">
<FixedPanel PageHeight="300" PageWidth="400">
<PageContent>
<FixedPage Background="White">
<Text Canvas.Top="10" Canvas.Left="10" >Hello</Text>
<Canvas>
<Text>Hello</Text>
</Canvas>
<Image Canvas.Top="120" Canvas.Left="20"
Source="../images/beispiel1.jpg" />
<Ellipse Width="200" Height="100" Stroke="Black" />
<Line X1="10" X2="100" Y1="10" Y2="100" Stroke="Black" />
<Path Data="M 10,50 L 200,70" Stroke="Red" />
</FixedPage>
</PageContent>
<PageContent>
<FixedPage Background="White">
<!-- weitere
Grafikprimitive -->
</FixedPage>
</PageContent>
</FixedPanel>
</Document>