我正在Silverlight中构建一个自定义控件,它是从ContentControl派生出来并做一些特殊的格式化,在内容后面放置一些阴影.
我几乎得到了它的工作,但最近遇到了一个奇怪的错误.如果它包含除Border之外的任何内容,或者没有明确定义的高度和宽度的Grid/Stackpanel/etc,它可以正常工作.
我在IE中遇到JavaScript错误,文字说:
运行时错误4008 ...检测到布局周期...布局无法完成.
如果我在包含的grid/stackpanel/etc上指定高度和宽度,它可以正常工作.
当使用太多文本框(超过250个)时,网上有关于此错误的信息,但我可以使用网格中的单个按钮重现我的错误.
我在页面上根本没有文本框.该错误与检测到的无限循环有关.我在代码中设置了几个断点,似乎在渲染过程中会大量调用"SizeChanged"事件,每次高度/宽度增加10.
我假设设置一个默认的高度/宽度会导致它跳过这个数字递增,但我不知道为什么会发生这个错误.
有没有人碰到这个或有任何想法?
我通过将UserControl添加到父控件的"Children"集合中,以编程方式将其添加到Silverlight 2中的另一个.起初这很好.如果我对窗口执行其他操作(在我的情况下,我将整个面板滚动到视图之外,然后返回到视图中),那么它显然会更改渲染顺序并使我的控件落后于其他控件.我正在寻找一种控制此行为的方法,以强制我的窗口位于顶部.Canvas控件有一个ZOrder属性,允许你设置它,但我没有使用Canvas,我正在使用网格.
我玩过使用Children.Insert和搞乱索引,并且也改变了渲染顺序,但这似乎是解决问题的一种方法.我如何强迫我的控制力在顶部?
--Matt
我正在使用一些泛型类作为数据容器,并使用它们来传递数据到wcf服务和从wcf服务传递数据.由于WCF将客户端的通用名称变为名为"ListOfBlah231546797646"的类,我将实际程序集的引用添加为"KnownType".
Silverlight需要使用这些服务,但只能引用"silverlight程序集".我已经将类移动到他们自己的"silverlight程序集"并且可以从silverlight引用它们,但是当服务运行时,我在System.Runtime.Serialization程序集上得到"找不到引用的程序集"错误.
事实证明,Silverlight拥有自己的二进制文件集,所有二进制文件都标记为版本2.0.5.0.这些不在服务的GAC中,因此抛出异常.
因此,我不能从我的服务代码中引用我的"Silverlight程序集".有什么方法可以解决这个问题,使两种口味在序列化时交叉兼容吗?
这个问题很相似,但没有一个答案有帮助.有任何想法吗? 类似的问题