C# 在ListBox中使用自定义ListBoxItem定义进行性能分析
我试图分析代码的性能,并更好地理解WPF对画布的重画行为,我将画布用作列表框中的ItemsPanel。为此,我定义了一个自定义类MyListBoxItem,它派生自ListBoxItem,请参见下面的代码 不幸的是,我不知道如何在列表框中使用这个类。我尝试将MyListBoxItem实例列表绑定到ListBox.XAML中的项,如Items={binding Path=ListBoxItemsList},但随后出现错误 “Items”属性为只读,无法从标记中设置 有没有办法做到这一点?或者,也许还有其他方法来实现我正在做的事情?i、 e.重新绘制行为的分析 MyListBoxItem的定义: 您可以创建一个派生的ListBox,该ListBox将覆盖GetContainerForItemOverride和IsItemTownContainerOverride方法,以返回自定义ListBoxItem: 您可以创建一个派生的ListBox,该ListBox将覆盖GetContainerForItemOverride和IsItemTownContainerOverride方法,以返回自定义ListBoxItem:C# 在ListBox中使用自定义ListBoxItem定义进行性能分析,c#,wpf,xaml,listbox,C#,Wpf,Xaml,Listbox,我试图分析代码的性能,并更好地理解WPF对画布的重画行为,我将画布用作列表框中的ItemsPanel。为此,我定义了一个自定义类MyListBoxItem,它派生自ListBoxItem,请参见下面的代码 不幸的是,我不知道如何在列表框中使用这个类。我尝试将MyListBoxItem实例列表绑定到ListBox.XAML中的项,如Items={binding Path=ListBoxItemsList},但随后出现错误 “Items”属性为只读,无法从标记中设置 有没有办法做到这一点?或者,也许
替换xaml中的deafult模板:
<ListBox>
<ListBox.ItemTemplate>
<local:MyListBoxItem />
</ListBox.ItemTemplate>
</ListBox>
并从渲染中删除日志。我认为它会产生太多的垃圾邮件。替换xaml中的deafult模板:
<ListBox>
<ListBox.ItemTemplate>
<local:MyListBoxItem />
</ListBox.ItemTemplate>
</ListBox>
并从渲染中删除日志。我认为这会产生太多的垃圾邮件。这会将MyListBoxItem放入每个ListBoxItem的内容中。项目容器仍然是ListBoxItem。这对您的目标很重要?当然,问题是如何用自定义容器替换默认项目容器,即ListBoxItem。这将在每个ListBoxItem的内容中放入MyListBoxItem。项目容器仍然是ListBoxItem。这对您的目标很重要?当然,问题是如何用自定义容器替换默认项目容器,即ListBoxItem。这非常有效。谢谢为了获得更多信息,我后来发现了这个链接:这非常有效。谢谢有关更多信息,我后来找到了以下链接:
<ListBox>
<ListBox.ItemTemplate>
<local:MyListBoxItem />
</ListBox.ItemTemplate>
</ListBox>