小编Alb*_*eld的帖子

虚拟化WPF Wrap Panel问题

用于WPF的虚拟化包装面板的选项不是很多.由于某种原因,MS决定不在标准库中发货.

如果有人能够如此大胆地为下面的codeplex项目的第一个工作项提供人群来源答案(和解释),我将不胜感激:

http://virtualwrappanel.codeplex.com/workitem/1

谢谢!


问题摘要:

我最近尝试过使用此项目中的虚拟化包装并遇到了一个错误.

重现步骤:

  1. 创建列表框.
  2. 将virtualizing wrappanel设置为listboxpanel模板中的itemhost.
  3. 将列表框的itemsource绑定到可观察的集合.
  4. 从后备可观察集合中删除项目.

Debug.Assert失败(Debug.Assert(child == _children [childIndex],"生成了错误的子项");)在MeasureOverride中,继续执行会导致Cleanup方法中出现空异常[请参阅附件截图].

如果你能纠正这个问题,请告诉我.

谢谢,

AO


码:

http://virtualwrappanel.codeplex.com/SourceControl/list/changesets#

alt text http://virtualwrappanel.codeplex.com/Project/Download/AttachmentDownload.ashx?ProjectName=virtualwrappanel&WorkItemId=1&FileAttachmentId=138959

wpf codeplex .net-3.5

8
推荐指数
2
解决办法
2789
查看次数

在滚动视图中滚动到选定的Treeviewitem

我有一个包含树视图的scrollviewer.

我以编程方式填充树视图(它没有绑定),并将树视图扩展为预定的treeviewitem.一切正常.

我的问题是,当树扩展时,我想滚动视图,父树视图滚动到我刚刚扩展的树视图.有任何想法吗? - 请记住,树视图每次展开时可能不具有相同的结构,因此排除了仅存储当前滚动位置并重置为...

c# wpf treeview scrollviewer

5
推荐指数
1
解决办法
5401
查看次数

如何将null文字赋值给System.Nullable <T>类型由.Net(C#)处理?

我想知道是否有人知道C#编译器如何处理以下赋值:

int? myInt = null;
Run Code Online (Sandbox Code Playgroud)

我的假设是执行了隐式转换,但我无法弄清楚如何处理空文字赋值.我解散了System.Nullable对象,发现隐式运算符覆盖了这个:

public static implicit operator T?(T value)  {
    return new T?(value);  
}
Run Code Online (Sandbox Code Playgroud)

一旦调用,这将尝试触发辅助构造函数:

public Nullable(T value) {
    this.value = value;
    this.hasValue = true; 
}
Run Code Online (Sandbox Code Playgroud)

这就是我的困惑发挥作用的地方...... this.value属于某种值类型,不能为null.

那么,有没有人知道这种"魔法"是如何发生的......或者我认为假设辅助构造函数被调用是错误的?是否调用默认构造函数,因为编译器知道它不能将第二个构造函数的签名与null文本匹配(导致myInt被分配给新的"null"Nullable)?

c# nullable

4
推荐指数
1
解决办法
1566
查看次数

标签 统计

c# ×2

wpf ×2

.net-3.5 ×1

codeplex ×1

nullable ×1

scrollviewer ×1

treeview ×1