C# WPF中的多页FlowDocument
这里是WPF文档的初学者 我正在探索在WPF应用程序中逐页显示静态内容的可能性。很像PowerPoint演示文稿,幻灯片可以在其中导航到下一页和上一页 从我最初的研究中,我认为FlowDocument是我所要寻找的,但当我需要显示多个可以导航到下一页和上一页的页面时,我坚持使用它 任何人都可以指导我,如果我使用FlowDocument的方法是正确的,我如何能够拥有多个页面(或文档) 以下是我的一页内容:C# WPF中的多页FlowDocument,c#,wpf,xaml,flowdocument,C#,Wpf,Xaml,Flowdocument,这里是WPF文档的初学者 我正在探索在WPF应用程序中逐页显示静态内容的可能性。很像PowerPoint演示文稿,幻灯片可以在其中导航到下一页和上一页 从我最初的研究中,我认为FlowDocument是我所要寻找的,但当我需要显示多个可以导航到下一页和上一页的页面时,我坚持使用它 任何人都可以指导我,如果我使用FlowDocument的方法是正确的,我如何能够拥有多个页面(或文档) 以下是我的一页内容: <FlowDocumentReader HorizontalAlignment="S
<FlowDocumentReader HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
<FlowDocument PagePadding="0" ColumnWidth="999999">
<Paragraph Style="{StaticResource headerText}" TextAlignment="Center" >
<Bold>AGENDA</Bold>
</Paragraph>
<List StartIndex="1" MarkerStyle="Decimal" Style="{StaticResource normalText}" MarkerOffset="20" TextAlignment="Left">
<ListItem>
<Paragraph>XAML</Paragraph>
</ListItem>
<ListItem>
<Paragraph>Layouts in WPF</Paragraph>
<List StartIndex="1" Margin="0" MarkerStyle="Decimal" Style="{StaticResource subText}" MarkerOffset="20" TextAlignment="Left">
<ListItem>
<Paragraph>Controls</Paragraph>
</ListItem>
<ListItem>
<Paragraph>Styles</Paragraph>
</ListItem>
<ListItem>
<Paragraph>Templates</Paragraph>
</ListItem>
</List>
</ListItem>
<ListItem>
<Paragraph>Binding</Paragraph>
<List StartIndex="1" Margin="0" MarkerStyle="Decimal" Style="{StaticResource subText}" MarkerOffset="20" TextAlignment="Left">
<ListItem>
<Paragraph>DependencyObject</Paragraph>
</ListItem>
<ListItem>
<Paragraph>DependencyProperty</Paragraph>
</ListItem>
</List>
</ListItem>
</List>
</FlowDocument>
</FlowDocumentReader>
议程
XAML
WPF中的布局
控制
风格
模板
结合
从属对象
关联属性
我认为最简单的方法就是使用一个内容控件,该控件绑定到viewmodel中的“CurrentPage”变量。即
private UserControl _currentpage
public UserControl CurrentPage {
get
{
return _currentpage;
}
set
{
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs("CurrentPage"));
}
}
public ViewModel()
{
CurrentPage = new FirstPage();
}
private void NextPageExecuted(object parameter)
{
//Logic that picks the next page from a set of pages
}
private void PrevPageExecuted(object parameter)
{
//Logic that picks the previous page from a set of pages
}
然后在xaml中只放置一个通用的内容控件
<ContentControl Content="{Binding CurrentPage}" />
然后只需定义一个用户控件,该控件定义了您想要查看的每个页面,FirstPage可能就是您粘贴到那里的代码