我有这个代码:
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 = …
这是场景
我有一个带有一些TextBlock控件的Grid,每个控件位于网格中的一个单独的单元格中.从逻辑上讲,我希望能够将它们的可见性设置为绑定到ViewModel中的属性.但由于它们都位于网格中的单独单元格中,因此我必须设置每个TextBlock的Visibility属性.
有没有一种方法可以设置一个非可视组,我可以在其中设置其子项的共同属性?还是我在做梦?
我知道WPF 3.5 SP1支持StringFormat绑定,但Silverlight可以做同样的事情吗?我认为可以,但是如果我能让它发挥作用该死的!
这是我的XAML的片段:
<TextBlock Text="{Binding StartTime, StringFormat=t}" />
Run Code Online (Sandbox Code Playgroud)
它编译好,但是当它到达浏览器时我得到一个运行时错误...
我展示了一个动画GIF,它在我的AJAX请求正在进行时运行,并在我的脚本处理完响应后停止.
虽然这有效,但我注意到,虽然请求的响应正在我的脚本中处理(其中包含一些相当大量的DOM更新),但动画会冻结.
我的研究让我相信这是因为GIF的动画发生在javascript运行的同一个线程上 - 浏览器是真正的单线程.这是所有当前主流浏览器(例如Chrome,Firefox,Safari,IE)的正确解释吗?
其次,为什么这样做?是否真的不可能浏览器可以将一个线程专用于GIF动画,因此当执行一个javascript块时它们没有冻结?
更新
这是一个有趣的页面.它讨论了使用纯CSS3动画.他们仍然在Firefox中冻结 - 也许很快FF就会解决这个问题.看起来我应该考虑使用CSS来制作动画,而不是使用GIF.
优秀UI设计师的特点是什么?如今,与交互设计能力相比,人们必须具备多少图形设计能力.随着WPF和Silverlight的出现,我认为这一点越来越重要.
我个人认为自己擅长交互设计,但想加强我在图形设计领域的技能.是否有可能学习这些技能,或者你是否与他们一起出生?任何人都可以推荐任何有用的好书或资源吗?
谢谢,
克雷格
我有一个显示一些项目的ListBox,在某些模式中,我在其顶部"标记"了一种水印.我用包含不透明度为0.5的TextBlock的边框完成了这个.这一切都很好用.
但是,我仍然希望用户能够单击ListBox中的项目,但如果我单击"标记",它显然会吃掉点击事件,而ListBox则看不到它们.
我该怎么做才能防止这种情况发生?(即允许ListBox查看Click事件)
谢谢,
克雷格
我有一个C++驱动程序,我正在尝试编译,它在代码中有这一行:
#import "msado15.dll" no_namespace rename("EOF", "EndOfFile")
Run Code Online (Sandbox Code Playgroud)
但是当我编译项目时,我收到错误:
错误1致命错误C1083:无法打开类型库文件:'msado15.dll':没有这样的文件或目录
我有DLL,但我把它放在哪里,以便编译器可以看到它?
我正在开发一个需要写入注册表的应用程序.它在XP上工作正常,但是当我在Vista上运行它时,从Visual Studio中,我得到一个安全性异常:
Registry.LocalMachine.OpenSubKey("SOFTWARE",true);
我正在尝试将新密钥写入注册表的该分支.
这样做的正确方法是什么,首先是我可以在Vista上运行VS的应用程序,其次是让我的用户不会遇到在Vista上运行的问题.
谢谢...
我的一个Silverlight应用程序有一些用户在Apple Macs上使用它.他们抱怨鼠标滚轮和触控板不起作用.
根据我所做的研究,似乎Mac上的浏览器托管应用程序不支持此功能.
Silverlight 5是否增加了改进的支持?对于未来版本的Silverlight,它是微软的关注吗?
我在WPF TreeView中显示了一个两级层次结构,但我只希望子节点可以选择 - 基本上顶层节点用于分类但不应该自己选择.
我能做到吗?
谢谢...
wpf ×4
silverlight ×3
c# ×2
ajax ×1
animated-gif ×1
data-binding ×1
events ×1
javascript ×1
listbox ×1
mousewheel ×1
registry ×1
security ×1
trackpad ×1
treeview ×1
visual-c++ ×1