我有以下代碼: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