2
我有一個的TabControl與兩個標籤含列出了應始終滾動至底部:WPF的TabControl/ScrollIntoView問題
<TabControl>
<TabItem Header="Tab1">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ListBox x:Name="List1">
<ListBox.ItemTemplate>
<DataTemplate DataType="SampleClass">
<TextBlock Text="{Binding SampleProperty}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</TabItem>
<TabItem Header="Tab2">
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ListBox x:Name="List2">
<ListBox.ItemTemplate>
<DataTemplate DataType="OtherSampleClass">
<TextBlock Text="{Binding SampleProperty}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</ScrollViewer>
</TabItem>
</TabControl>
現在,我已經建立了這樣的事件時,綁定更改時,執行以下代碼以滾動到列表底部(取決於選項卡,這是第一個列表項目發生更改時會發生的情況的示例):
ListBox1.ScrollIntoView(items.Last<SampleClass>());
這工作正常。當綁定被改變時,ListBox滾動到底部。但是,當我設置相同的代碼以執行選項卡更改時(在選項卡更改時滾動到列表底部)時,列表不會按預期滾動到底部(並顯示滾動到最佳)。
我嘗試掛鉤TabControl的SelectionChanged事件。我的猜測是當這個事件被執行時佈局還沒有渲染,所以調用ScrollIntoView()什麼都不做。
有沒有辦法解決這個問題?
謝謝。
工程就像一個魅力!謝謝! – thebfactor 2010-06-14 13:18:54
你是認真的嗎? – 2015-09-08 14:39:40