我有以下代码:WPF - 在TabItem的
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="145" Width="156">
<Window.Resources>
<DataTemplate x:Key="tabTemplate">
<ScrollViewer>
<StackPanel Orientation="Vertical">
<TextBlock>x</TextBlock>
<TextBlock>x</TextBlock>
<TextBlock>x</TextBlock>
<TextBlock>x</TextBlock>
<TextBlock>x</TextBlock>
<TextBlock>x</TextBlock>
<TextBlock>x</TextBlock>
</StackPanel>
</ScrollViewer>
</DataTemplate>
</Window.Resources>
<Grid>
<TabControl>
<TabItem Header="Tab1" ContentTemplate="{StaticResource ResourceKey=tabTemplate}"/>
<TabItem Header="Tab2" ContentTemplate="{StaticResource ResourceKey=tabTemplate}"/>
</TabControl>
</Grid>
</Window>
什么是奇怪的是滚动条的行为 - 如果我在第一个选项卡上向下滚动,并切换到第二个选项卡,滚动条是失望过 - 当选项卡项目具有相同的数据模板时,滚动条的位置同步。你知道这个问题的任何解决方案吗?此外,当我修改代码并创建两个数据模板(每个标签一个)时,滚动条根本不保留它们的位置 - 这意味着如果我向下滚动tab1,切换到tab2并再次切换到tab1 ,滚动条处于默认位置。这个的任何解决方案?
第一个问题的作品,使用ItemsControl似乎不是我的项目的一个很好的解决方案。但是失去位置并不像滚动条的位置那么古怪,所以我接受这个解决方案。 – bretik 2010-11-01 08:00:09