首先,目前beta2只能装到e文版的vs2008上. 想装,必须把以前的版本都卸掉,最好连blend
和deep zoom都卸掉.
1.转的过程中,我遇到的有wcf的问题,其实关键是在穿域文件加上一句
具体如下,穿域文件clientaccesspolicy.xml 加一句<allow-from http-request-
headers="*">就可以了!!
<?xml version="1.0" encoding="utf-8" ?>
- <access-policy> - <cross-domain-access> - <policy> - <allow-from http-request-headers="*"> <domain uri="*" /> </allow-from> - <grant-to> <resource path="/" include-subpaths="true" /> </grant-to> </policy> </cross-domain-access> </access-policy>
2.另外.beta1中使用SetValue()方法是自动转换类型,在beta2中就不可以了,必须手动转
这里给2个类型的转换方法经验
brush和clolor的转换 Brush color =new SolidColorBrush(Color.FromArgb(Convert.ToByte(0xFF),
Convert.ToByte(0xCC), Convert.ToByte(0xCC), Convert.ToByte(0xCC))); this.ChinaMapShowColor.SetValue(Shape.FillProperty, color);
imageSouce的转换 this.Img_TipProName1.Source = new BitmapImage(new Uri("你的图片地址"
,UriKind.Relative));
其它的类型用SetValue()一般都是SetValue(要设置的Property,new PropertyPath("属性
值")) 多了个new PropertyPath而已
3. FindName()方法有了范围限制。以前用XamlReader.Load()后可以用this.FindName()
找到,现在不可以.会返回null. 可以这样,假如 canavs ca = (canavs )XamlReader.Load() , 可以用ca.FindName(),这
样就可以找到XamlReader.Load()后xaml里的元素.
4.解决了,但是不明白错误原理。在代码里写动画,关于Storyboard.SetTarget的问题.如
果使用Storyboard.SetTarget设置动画对象,Storyboard.SetTargetProperty设置对象的
动画属性为RenderTransform,那么播放1次后,再播放第2次就会报错,奇怪的是,如果
Storyboard.SetTargetProperty的属性是Canvas.Left,就不会错. 最后我的解决其实就是给对象一个x:Name,然后不用Storyboard.SetTarget,改用
Storyboard.SetTargetName,这样无论是RenderTransform,还是Canvas.Left都不会报错.
5,关于模版的问题.如果以前的模版发现没有效果了...额,就是那个样式,汗,偶不会翻译,
反正就是那个Style,如果自定义了一个控件,需要在控件的构造里加1句 DefaultStyleKey
= typeof(你的自定义控件名);
例如,我有个PopupWindow自定义控件,我这样写.这样就可以了, public class PopupWindow : ContentControl { public PopupWindow() { DefaultStyleKey = typeof(PopupWindow); }
public override void OnApplyTemplate() { base.OnApplyTemplate(); } }
6.暂时没有了,目前就这么多.各位有其它经验,请跟帖.另外,转载请注明我blog地址http://blog.youkuaiyun.com/magic_MM/ .谢谢