小编Cra*_*rer的帖子

序列化和反序列化时出现InvalidCastException

我有这个代码:

public byte[] SerializeToBlob()
{
    using (var buffer = new MemoryStream())
    {
        var formatter = new BinaryFormatter();
        formatter.Serialize(buffer, this);
        buffer.Position = 0;
        return buffer.ToArray();
    }
}

public static ActionData DeserializeFromBlob(byte[] state)
{
    using (var buffer = new MemoryStream(state))
    {
        var formatter = new BinaryFormatter();
        var result = formatter.Deserialize(buffer);
        return (ActionData) result;
    }
}
Run Code Online (Sandbox Code Playgroud)

我打电话给它如下:

byte[] actionDataBlob = ad.SerializeToBlob();
var ad1 = ActionData.DeserializeFromBlob(actionDataBlob);
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试将反序列化对象强制转换为其类型时,我得到一个InvalidCastException:

[A] ActionData无法强制转换为[B] ActionData.类型A源自位于'C:\ Users\Craig\AppData\Local\Temp\Temporary ASP'的上下文'Default'中的'XXXX.XXXX.Auditing,Version = 1.0.76.0,Culture = neutral,PublicKeyToken = null'. NET Files\root\5d978e5b\ffc57fe1\assembly\dl3\2b1e5f8f\102c846e_9506ca01\XXXX.XXXX.Auditing.DLL'.类型B源自位于'F:\ Visual Studio Projects\XXXXXXXXX\source\XXXX.XXXX.SilverlightClient的上下文'LoadNeither'中的'XXXX.XXXX.Auditing,Version = …

c# serialization

13
推荐指数
1
解决办法
8639
查看次数

有没有办法在WPF中逻辑分组控件

这是场景

我有一个带有一些TextBlock控件的Grid,每个控件位于网格中的一个单独的单元格中.从逻辑上讲,我希望能够将它们的可见性设置为绑定到ViewModel中的属性.但由于它们都位于网格中的单独单元格中,因此我必须设置每个TextBlock的Visibility属性.

有没有一种方法可以设置一个非可视组,我可以在其中设置其子项的共同属性?还是我在做梦?

wpf

12
推荐指数
2
解决办法
1万
查看次数

Silverlight是否支持StringFormat绑定?

我知道WPF 3.5 SP1支持StringFormat绑定,但Silverlight可以做同样的事情吗?我认为可以,但是如果我能让它发挥作用该死的!

这是我的XAML的片段:

<TextBlock Text="{Binding StartTime, StringFormat=t}" />
Run Code Online (Sandbox Code Playgroud)

它编译好,但是当它到达浏览器时我得到一个运行时错误...

data-binding silverlight

12
推荐指数
2
解决办法
2万
查看次数

在所有主流浏览器中,GIF动画是否与javascript在同一个线程上运行?

我展示了一个动画GIF,它在我的AJAX请求正在进行时运行,并在我的脚本处理完响应后停止.

虽然这有效,但我注意到,虽然请求的响应正在我的脚本中处理(其中包含一些相当大量的DOM更新),但动画会冻结.

我的研究让我相信这是因为GIF的动画发生在javascript运行的同一个线程上 - 浏览器是真正的单线程.这是所有当前主流浏览器(例如Chrome,Firefox,Safari,IE)的正确解释吗?

其次,为什么这样做?是否真的不可能浏览器可以将一个线程专用于GIF动画,因此当执行一个javascript块时它们没有冻结?

更新

是一个有趣的页面.它讨论了使用纯CSS3动画.他们仍然在Firefox中冻结 - 也许很快FF就会解决这个问题.看起来我应该考虑使用CSS来制作动画,而不是使用GIF.

javascript ajax animated-gif

10
推荐指数
1
解决办法
983
查看次数

优秀的UI设计师的特点

优秀UI设计师的特点是什么?如今,与交互设计能力相比,人们必须具备多少图形设计能力.随着WPF和Silverlight的出现,我认为这一点越来越重要.

我个人认为自己擅长交互设计,但想加强我在图形设计领域的技能.是否有可能学习这些技能,或者你是否与他们一起出生?任何人都可以推荐任何有用的好书或资源吗?

谢谢,

克雷格

silverlight wpf user-interface

8
推荐指数
3
解决办法
3274
查看次数

使控件"透明"以单击事件

我有一个显示一些项目的ListBox,在某些模式中,我在其顶部"标记"了一种水印.我用包含不透明度为0.5的TextBlock的边框完成了这个.这一切都很好用.

但是,我仍然希望用户能够单击ListBox中的项目,但如果我单击"标记",它显然会吃掉点击事件,而ListBox则看不到它们.

我该怎么做才能防止这种情况发生?(即允许ListBox查看Click事件)

谢谢,

克雷格

wpf events listbox

7
推荐指数
1
解决办法
3211
查看次数

如何在VC++项目中引用DLL

我有一个C++驱动程序,我正在尝试编译,它在代码中有这一行:

#import "msado15.dll" no_namespace rename("EOF", "EndOfFile")
Run Code Online (Sandbox Code Playgroud)

但是当我编译项目时,我收到错误:

错误1致命错误C1083:无法打开类型库文件:'msado15.dll':没有这样的文件或目录

我有DLL,但我把它放在哪里,以便编译器可以看到它?

visual-c++

7
推荐指数
1
解决办法
3万
查看次数

使用Registry.LocalMachine.OpenSubKey时的SecurityException

我正在开发一个需要写入注册表的应用程序.它在XP上工作正常,但是当我在Vista上运行它时,从Visual Studio中,我得到一个安全性异常:

Registry.LocalMachine.OpenSubKey("SOFTWARE",true);

我正在尝试将新密钥写入注册表的该分支.

这样做的正确方法是什么,首先是我可以在Vista上运行VS的应用程序,其次是让我的用户不会遇到在Vista上运行的问题.

谢谢...

c# security registry windows-vista

7
推荐指数
2
解决办法
1万
查看次数

在Silverlight 5中是否支持鼠标滚轮和Apple履带板?

我的一个Silverlight应用程序有一些用户在Apple Macs上使用它.他们抱怨鼠标滚轮和触控板不起作用.

根据我所做的研究,似乎Mac上的浏览器托管应用程序不支持此功能.

Silverlight 5是否增加了改进的支持?对于未来版本的Silverlight,它是微软的关注吗?

silverlight trackpad mousewheel silverlight-5.0

7
推荐指数
1
解决办法
289
查看次数

我可以控制WPF TreeView中可选择的节点吗?

我在WPF TreeView中显示了一个两级层次结构,但我只希望子节点可以选择 - 基本上顶层节点用于分类但不应该自己选择.

我能做到吗?

谢谢...

wpf treeview

6
推荐指数
2
解决办法
4022
查看次数