में यूआई वर्चुअलाइजेशन मैं .NET 4.5/VS2012 उपयोग कर रहा हूँ सक्षम करने के लिए, और मैं एक ListView इसकैसे स्टैंडर्ड WPF ListView
<ListView
VirtualizingPanel.IsContainerVirtualizable="True"
VirtualizingPanel.IsVirtualizing="True"
VirtualizingPanel.IsVirtualizingWhenGrouping="True"
Grid.Row="1"
Name="eventLogList"
Margin="5,0,5,0"
BorderBrush="Black"
BorderThickness="2"
ItemsSource="{Binding EventLogs}"
SelectedItem="{Binding SelectedEventLog}"
local:ListViewSorter.CustomListViewSorter="EventLogViewer.UI.EventLogItemComparer"
SelectionMode="Single">
<ListView.GroupStyle>
<GroupStyle HidesIfEmpty="False">
<GroupStyle.ContainerStyle>
<Style TargetType="GroupItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="GroupItem">
<Expander IsExpanded="True">
<Expander.Header>
<TextBlock FontSize="20" TextWrapping="Wrap" Margin="0,10,0,5" >
<Bold><TextBlock Text="{Binding Name}"/></Bold> - <TextBlock FontSize="20" Text="{Binding ItemCount}"/> logs
</TextBlock>
</Expander.Header>
<ItemsPresenter/>
</Expander>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</GroupStyle.ContainerStyle>
</GroupStyle>
</ListView.GroupStyle>
<ListView.View>
<GridView>
<GridViewColumn
Header="event id"
Width="120"
DisplayMemberBinding="{Binding EventID}" />
<GridViewColumn
Header="level"
Width="160"
DisplayMemberBinding="{Binding Level}" />
<GridViewColumn
Header="server"
Width="160"
DisplayMemberBinding="{Binding Server}" />
<GridViewColumn
Header="log name"
Width="160"
DisplayMemberBinding="{Binding LogName}" />
<GridViewColumn
Header="source"
Width="240"
DisplayMemberBinding="{Binding Source}" />
<GridViewColumn
Header="logged"
Width="240"
DisplayMemberBinding="{Binding Logged}" />
</GridView>
</ListView.View>
</ListView>
की तरह कुछ लेकिन फिर भी प्रदर्शन पर सभी में सुधार नहीं किया गया है लग रहा है। मैं एक उदाहरण ListBox, लेकिन कैसे एक ListView virtualize करने के लिए उपयोग कर पाया? मैं काफ़ी संघर्ष किया। मैंने सुना है कि समूह के साथ, वर्चुअलाइजेशन WPF के पिछले संस्करण में बंद कर दिया है, लेकिन .NET 4.5 के साथ, WPF एक IsVirtualizingWhenGrouping
संपत्ति है, मैं पहले से ही True
पर सेट करें।
अद्यतन: अपराधी कस्टम स्टाइल, इसे हटाने के बाद, सूची दृश्य को सुचारू रूप से मक्खन एक lot.Also देख सकते हैं
दूसरा लिंक बहुत मदद नहीं कर रहा है क्योंकि मैं बजट कसकर हूं और एमएसडीएन चर्चा के लिए वाणिज्यिक उपयोग करने का जोखिम नहीं उठा सकता, मैं अभी भी पच रहा हूं, मैंने कुछ कस्टम शैली का उपयोग किया है, उन्हें अक्षम करने की कोशिश करेगा परीक्षण करने के लिए। – imgen
कस्टम शैली को निष्क्रिय करने के बाद, इस मुद्दे को हल किया गया है। एक तरह से हालांकि दोनों दुनिया का सबसे अच्छा पाने के लिए देख रहे हैं। – imgen