我计划创建以下图像结构的Windows Wpf应用程序。
当我选择“类创建者”时,在右侧我想加载ClassCreator.xaml,当我选择“文本替换器”时,在右侧我要加载TextReplace.xaml。我如何以上述方式导航。
<Grid>
<DockPanel LastChildFill="True">
<ListBox HorizontalAlignment="Left" Name="ToolMenu" Width="100">
<ListBoxItem Content="Class Creator" />
<ListBoxItem Content="Text Replacer" />
</ListBox>
<Border BorderBrush="Silver" BorderThickness="1" Name="border1" />
</DockPanel>
</Grid>
答案 0 :(得分:1)
使用Frame
作为主持人来导航内容。
<Grid>
<DockPanel LastChildFill="True">
<ListBox HorizontalAlignment="Left" Name="ToolMenu" Width="100">
<ListBoxItem Content="Class Creator" />
<ListBoxItem Content="Text Replacer" />
</ListBox>
<Border BorderBrush="Silver" BorderThickness="1" Name="border1">
<Frame x:Name="frame1" Source="ClassCreator.xaml" />
</Border>
</DockPanel>
</Grid>
然后在ListBox的SelectionChanged事件处理程序中,导航到另一个视图,如下所示
frame1.Navigate(new Uri("TextReplace.xaml", UriKind.Relative));
更新:或者
布局结构符合TabControl
的布局结构。您可以根据此布局设置TabControl
样式,左侧是Tab标题,右侧是标签项。
<Grid>
<TabControl TabStripPlacement="Left">
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter Content="{TemplateBinding Content}">
<ContentPresenter.LayoutTransform>
<RotateTransform Angle="270" />
</ContentPresenter.LayoutTransform>
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="Padding" Value="3" />
</Style>
</TabControl.Resources>
<TabItem Header="Class Creator">
<local:ClassCreator />
</TabItem>
<TabItem Header="Text Replacer">
<local:TextReplacer />
</TabItem>
</TabControl>
</Grid>