昨日在写Silverlight程序的时候,遇到一个问题,感觉是Silverlight的Bug。使用版本是Silverlight5。异常信息如下:

行: 56
错误: Silverlight 应用程序中未处理的错误
代码: 4004
类别: ManagedRuntimeError
消息: System.ArgumentException: 值不在预期的范围内。
位于 System.Windows.Size.set_Width(Double value)
位于 System.Windows.Controls.Primitives.TabPanel.ArrangeHorizontal(Size arrangeSize)
位于 System.Windows.Controls.Primitives.TabPanel.ArrangeOverride(Size finalSize)
位于 System.Windows.FrameworkElement.ArrangeOverride(IntPtr nativeTarget, Single inWidth, Single inHeight, Single& outWidth, Single& outHeight)

给出一个示例代码:

<UserControl
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="SilverlightApplication1.MainPage"
mc:Ignorable="d"
d:DesignHeight="" d:DesignWidth=""> <Grid x:Name="LayoutRoot" Background="White">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="" />
<ColumnDefinition Width="" />
</Grid.ColumnDefinitions>
<Grid x:Name="LayoutLeft" Grid.Column="">
<controls:TabControl x:Name="BottomContent" Grid.Column="" Grid.Row="">
<controls:TabItem x:Name="Item1" Header="TabItem1" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item2" Header="TabItem2" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item3" Header="TabItem3" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item4" Header="TabItem4" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item5" Header="TabItem5" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item6" Header="TabItem6" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item7" Header="TabItem7" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item8" Header="TabItem8" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item9" Header="TabItem9" Height=""></controls:TabItem>
<controls:TabItem x:Name="Item10" Header="TabItem10" Height=""></controls:TabItem>
</controls:TabControl>
</Grid>
<controls:GridSplitter x:Name="StretchRight" Grid.Column="" Background="#C8E0FB" Margin="0,0,0,0" HorizontalAlignment="Stretch" />
<Grid x:Name="LayoutRight" Grid.Column="">
<sdk:DataGrid x:Name="DgInfo" ColumnHeaderHeight="" Margin="" AutoGenerateColumns="False" IsReadOnly="True">
<sdk:DataGrid.Columns>
<sdk:DataGridTemplateColumn Header="Column1" Width=""></sdk:DataGridTemplateColumn>
<sdk:DataGridTextColumn Header="Column2" Width=""></sdk:DataGridTextColumn>
<sdk:DataGridTextColumn Header="Column3" Width=""></sdk:DataGridTextColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
</Grid>
</Grid>
</UserControl>
using System.Windows.Controls;

namespace SilverlightApplication1
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.InitTabItem();
} private void InitTabItem()
{
Item3.Visibility = System.Windows.Visibility.Collapsed;
Item4.Visibility = System.Windows.Visibility.Visible;
Item5.Visibility = System.Windows.Visibility.Collapsed;
Item6.Visibility = System.Windows.Visibility.Collapsed;
}
}
}

奇怪的就是InitTabItem方法的这几行代码,如果不隐藏TabItem,程序运行正常。一旦去隐藏TabItem,在拖拽GridSplitter的时候,有时会抛出异常。

请高手指点迷津。

A Silverlight Bug ?的更多相关文章

  1. Silverlight:telerik RadControls中RadGridView的一个Bug及解决办法(转载)

    当RadGridView中嵌套RadComboBox,且RadGridView的高度不够出现滚动条时,上下拉动滚动条后,RadComboBox中的选中值将丢失! 如下图: 滚动条未拖动前 滚动条上下拖 ...

  2. Mono下的WCF的Bug?

    最近一段时间,一直在折腾Mono,折腾Linux.让我无比痛苦的是Mono下的WCF的坑真的是太多了,这不又遇到了一个莫名其妙的问题. 环境:mono 3.2.1,Jexus 5.4.3,OS Cen ...

  3. Silverlight 手鼓达人-仿太鼓达人 开源

    Silverlight 手鼓达人-仿太鼓达人 介绍  手鼓达人是本人2012年中silverlight最火的一段时间开发的,本来目的只是想研究一下silverlight做游戏和做应用有何不同,但是后面 ...

  4. [SL] Silverlight + WCF Demo项目

    I:项目描述:利用 Silverlight+WCF 技术,模拟资源管理器(如图1)功能,通过地址栏输入本地文件夹路径,然后将解析出来的该目录下所有文件(夹)存储到数据库中,然后再加载到界面上显示出来: ...

  5. AgileEAS.NET SOA 中间件平台 5.2 发布说明-包含Silverlight及报表系统的开源代码下载

    一.AgileEAS.NET SOA 中间件简介      AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速 ...

  6. SilverLight - Memory Leak

    There is a memory leak issue in current silverlight project. It occurs in the search function: the m ...

  7. Silverlight:版本控制的衍化

    版本控制是企业开发中一个老生长谈的主题,这也是大部分公司新人进来后需要接纳的一个基础知识体系. 从08年首次接触商业软件编写后,这几年先后接触了SVN,TFS,Git这几个主要的版本控制器,但是并没有 ...

  8. 【原创】有关Silverlight控件DataGrid的绑定数据后单元格单独复制的功能实现分析

    前些日子,公司新需求需要对silverlight的datagrid进行局部任意单元格数据可复制,查阅了半天网络资料愣是没找到相关资料,开始还以为是silverlight的bug根部无法实现, 最后还是 ...

  9. WPF/Silverlight HierarchicalDataTemplate 模版的使用(转)

    上一篇 对Wpf/Silverlight Template 进行了总结,本篇继续上一篇,主要是介绍 HierarchicalDataTemplate 的使用方法.HierarchicalDataTem ...

随机推荐

  1. Unity3d 着色器语法(Shader)

    Shader "name" { [Properties] Subshaders [Fallback] } 定义了一个着色器.着色器拥有一个 Properties 的列表.着色器包含 ...

  2. 非root Android设备上Tcpdump的实现

    通常我们在Android应用中执行某个命令时会使用"Runtime.getRuntime().exec("命令路径")"这种方式,但是当我们执行抓包操作时,使用 ...

  3. SVN 集中式版本控制软件

    简介: 目前流行的版本控制软件中,SVN ( 集中式版本控制 ) 算是使用范围更广.且使用时间更早的一款了,现在 git ( 分布式版本控制 ) 更火爆一点. 一.安装svn [root@localh ...

  4. 编写serversocket简单示例1

    package j2se.core.net.tcp; import java.io.DataOutputStream;import java.io.IOException;import java.ne ...

  5. 微信公众平台创建自定义菜单中文编码导致system error

    创建包含了中文的自定义菜单时总是返回{"errcode":-1,"errmsg":"system error"},要将编码方式设置为UTF- ...

  6. prim

    prim算法很难,但是我也把他写出来了.usaco3.1.1 #include <iostream> #include <cstring> using namespace st ...

  7. ElasticSearch 命令行管理工具Curator

    一.背景 elastic官网现在已经大面积升级到了5.x版本,然而针对elasticsearch的命令行管理工具curator现在仍然是4.0版本. 刚开始找到此工具,深深的怕因为版本更迭无法使用,还 ...

  8. Cordova系列(一)

    1.安装 这里推荐用npm安装cordova,至于npm的安装,网上有很多的.打开命令行,输入 npm install -g cordova 这里就安装了好了最新版的cordova,虽然绝大多数会成功 ...

  9. CentOS下MySQL数据库安装

    前辈们总是说,要边学边记录,要总结.所以,开始把每天学到的内容一点一点记录. 复杂的理论不懂,只会目前安装,安好后就开始玩咯! 1.在官网下载相应的rpm安装包 下载地址:http://dev.mys ...

  10. PoEdu - C++阶段班【Po学校】- Lesson02_类与对象_第4天

    复习:上节作业讲解 注意点: 设计SetString()的时候,要注意重置原来的空间. char * SetString(const char *str) { _len = strlen(str); ...