如何在FlowDocument中水平居中表或列表?

时间:2012-01-18 04:15:05

标签: wpf xaml flowdocument

以下是默认WPF应用程序的MainWindow.xaml中的示例代码。文件中的第一个和最后一个'块是段落,中间的是一个表。表始终显示在其列的左边缘,而表格右侧的区域为空白。我想把桌子放在这个空间中心。

我试过把桌子放在'Section','Paragraph'等里面,但没有任何运气。段落内的Floater可以工作,但是表格会流入下一段。可能我可以通过在左侧和右侧使用两个空列以某种方式动态计算它们的宽度来做到这一点,但这看起来有点过分。

由于 Jeevaka

<Window x:Class="FlowDocument.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="700" Width="700">
    <FlowDocumentPageViewer>
        <FlowDocument>
            <Paragraph FontSize="24">Moons of Saturn</Paragraph>
            <Paragraph>The moons of Saturn are numerous and diverse, ranging from tiny moonlets less than 1 kilometre across, to the enormous Titan, which is larger than the planet Mercury. Saturn has 62 moons with confirmed orbits, fifty-three of which have names, and only thirteen of which have diameters larger than 50 kilometres. Saturn has seven moons that are large enough to become spherical, and dense rings with complex orbital motions of their own. Particularly notable among Saturn's moons are Titan, the second largest moon in the Solar System, with a nitrogen-rich Earth-like atmosphere and a landscape including hydrocarbon lakes and dry river networks, and Enceladus, which emits jets of gas and dust and may harbor liquid water under its south pole region.</Paragraph>
            <Table TextAlignment="Right" BorderBrush="Black" BorderThickness="1" Background="Black">
                <Table.Columns>
                    <TableColumn Width="100" ></TableColumn>
                    <TableColumn Width="100"></TableColumn>
                </Table.Columns>
                <TableRowGroup>
                    <TableRow>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>Name</Paragraph>
                        </TableCell>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>Diameter</Paragraph>
                        </TableCell>
                    </TableRow>
                    <TableRow>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>Mimas</Paragraph>
                        </TableCell>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>396</Paragraph>
                        </TableCell>
                    </TableRow>
                    <TableRow>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>Enceladus</Paragraph>
                        </TableCell>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>504</Paragraph>
                        </TableCell>
                    </TableRow>
                    <TableRow>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>Tethys</Paragraph>
                        </TableCell>
                        <TableCell Background="White" Padding="5">
                            <Paragraph>1062</Paragraph>
                        </TableCell>
                    </TableRow>
                </TableRowGroup>
            </Table>
            <Paragraph>Twenty-four of Saturn's moons are regular satellites; they have prograde orbits not greatly inclined to Saturn's equatorial plane. They include the seven major satellites, four small moons which exist in a Trojan orbit with larger moons, two mutually co-orbital moons and two moons which act as shepherds of Saturn's F Ring. Two other known regular satellites orbit within gaps in Saturn's rings. The relatively large Hyperion is locked in a resonance with Titan. The remaining regular moons orbit near the outer edge of the A Ring, within G Ring and between the major moons Mimas and Enceladus. The regular satellites are traditionally named after Titans and Titanesses or other figures associated with the mythological Saturn.</Paragraph>
        </FlowDocument>
    </FlowDocumentPageViewer>
</Window>

1 个答案:

答案 0 :(得分:0)

有一个名为HorizontalAlignment的WPF元素属性,您希望在容器中包围感兴趣的元素,如网格或边框,并将属性设置为Center WPF完成其余的魔法。

相关问题