4
我有一個虛擬化啓用ListView控件的奇怪問題。我創建了一個非常小的試點應用程序來重現此問題。當我在列表視圖中爲幾個文本框鍵入內容然後向下滾動時,在幾頁之後,鍵入的值在下面未觸及的文本框中重複。在回收模式下重複ListView虛擬化值
下面是窗口的XAML:
<Window x:Class="WpfApplication3.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid Name="mainGrid">
<ListView ItemsSource="{Binding Path=DemoList}" >
<VirtualizingStackPanel.IsVirtualizing>
True
</VirtualizingStackPanel.IsVirtualizing>
<VirtualizingStackPanel.VirtualizationMode>
Recycling
</VirtualizingStackPanel.VirtualizationMode>
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBox MinHeight="20" MinWidth="200" Margin="4"/>
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</Grid>
</Window>
和代碼隱藏:
namespace WpfApplication3
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
demolist a = new demolist();
mainGrid.DataContext = a;
}
}
public class demolist
{
public demolist()
{
DemoList = new List<string>();
for (int i = 0; i <= 5000; i++)
{
DemoList.Add("sss");
}
}
public List<string> DemoList { get; set; }
}
}
而關於這一問題的屏幕截圖: http://kepfeltoltes.hu/120228/Capture1_www.kepfeltoltes.hu_.png
是否有任何選項解決這個問題?我想這與回收模式有關,但我認爲這不應該是正常行爲。
由於提前,
伊什特萬
謝謝您的回答。您的代碼正確執行,這意味着只有在您綁定控件上的所有內容時才能使用回收模式。 – kexx 2012-02-29 09:36:15