我希望有类似标签的界面,我有多个按钮(标签),当用户按下其中一个按钮时,我会显示相应的容器并隐藏其他容器。
类似的东西:
<!-- Buttons -->
<StackPanel VerticalAlignment="Stretch" Grid.Column="0">
<Button
Style="{StaticResource DetailSectionButton}"
Content="info" Click="Button_Click"/>
<Button
Style="{StaticResource DetailSectionButton}"
Content="map" Click="Button_Click2"/>
<Button
Style="{StaticResource DetailSectionButton}"
Content="attachment" Click="Button_Click3"/>
</StackPanel>
<!-- Info -->
<ScrollViewer x:Name="SecInfo" Grid.Column="1" Visibility="Collapsed" ...
<!-- Map -->
<Map:MapControl ZoomLevel="6" x:Name="SecMap" Grid.Column="1" Visibility="Collapsed" ...
<!-- Attachments -->
<StackPanel x:Name="SecAttachments" Grid.Column="1" Visibility="Collapsed">
代码:
private void Button_Click(object sender, RoutedEventArgs e)
{
SecInfo.Visibility = Visibility.Visible;
SecMap.Visibility = Visibility.Collapsed;
SecAttachments.Visibility = Visibility.Collapsed;
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
SecInfo.Visibility = Visibility.Collapsed;
SecMap.Visibility = Visibility.Collapsed;
SecAttachments.Visibility = Visibility.Visible;
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
SecInfo.Visibility = Visibility.Collapsed;
SecMap.Visibility = Visibility.Visible;
SecAttachments.Visibility = Visibility.Collapsed;
}
这是一个很好的方法,或者我需要在XAML中使用不同的东西吗?
答案 0 :(得分:0)
您所呈现的内容应该按照您的预期运作。
可是:
我强烈建议您在应用程序中使用一些MVVM框架(如mvvmlight并且还有其他)和绑定。如果你花一些时间来理解你生活背后的概念,以后会变得更容易。
投入一些时间并了解平台细节,您从桌面开发中已经知道的内容可能不适用于此平台(例如:TabControl)。
对于您从头顶呈现的具体设计,我会考虑使用HubControl进行自定义,因为您提供了一些导航到页面的按钮,但只有当您需要快速访问它们并且需要更改页面时很多滚动。