试试Live Writer的代码插件

插入代码VS2010

http://my.oschina.net/nnhy/blog/11369

修正从vs2010复制代码时中文乱码的问题。好消息:VS2010 SP1已经没有这个问题了。

private void Application_UnhandledException(objectsender, ApplicationUnhandledExceptionEventArgse)
        {
           
// 如果应用程序是在调试器外运行的,则使用浏览器的
            // 异常机制报告该异常。在 IE 上,将在状态栏中用一个
            // 黄色警报图标来显示该异常,而 Firefox 则会显示一个脚本错误。
           
if(!System.Diagnostics.Debugger.IsAttached)
            {

               
// 注意: 这使应用程序可以在已引发异常但尚未处理该异常的情况下
                // 继续运行。
                // 对于生产应用程序,此错误处理应替换为向网站报告错误
                // 并停止应用程序。
               
e.Handled= true;
                Deployment.Current.Dispatcher.BeginInvoke(delegate{ ReportErrorToDOM(e); });
            }
        }


插入代码块
private void btnAbout_Click(object sender, RoutedEventArgs e)

        {

            //MessageBox.Show("欢迎进入SilverLight世界!");

            mSvClient.HelloWorldAsync();

            Type tp = Type.GetType("System.Nullable`1[System.DateTime]");

            //==================================================================            

            List<ClassHelper.CustPropertyInfo> lstCustPropertyInfo = new List<ClassHelper.CustPropertyInfo>();

            lstCustPropertyInfo.Add(new ClassHelper.CustPropertyInfo("System.Int32", "xx"));

            lstCustPropertyInfo.Add(new ClassHelper.CustPropertyInfo("System.String", "sname"));

            lstCustPropertyInfo.Add(new ClassHelper.CustPropertyInfo("System.Nullable`1[System.DateTime]", "intime"));            

            dataGrid1.ItemsSource = lp;

        }

这里有一个小小的问题:如果不选择“折叠代码”,那么代码块就没有灰色的背景了。解决办法很简单,
把展开视图代码模版改为:
<div class="cnblogs_code"><pre><%hcode%></pre></div><br>
其实就是在最外面那个div里加上css class,这样代码块有灰色的背景和自适应的滚动条。
Insert Code(英文版)
   1:  private void btnAbout_Click(object sender, RoutedEventArgs e)
   2:          {
   3:              //MessageBox.Show("欢迎进入SilverLight世界!");
   4:   
   5:              mSvClient.HelloWorldAsync();
   6:              Type tp = Type.GetType("System.Nullable`1[System.DateTime]");
   7:              //==================================================================            
   8:              List<ClassHelper.CustPropertyInfo> lstCustPropertyInfo = new List<ClassHelper.CustPropertyInfo>();
   9:              lstCustPropertyInfo.Add(new ClassHelper.CustPropertyInfo("System.Int32", "xx"));
  10:              lstCustPropertyInfo.Add(new ClassHelper.CustPropertyInfo("System.String", "sname"));
  11:              lstCustPropertyInfo.Add(new ClassHelper.CustPropertyInfo("System.Nullable`1[System.DateTime]", "intime"));
  12:   
  13:              List<object> lp = new List<object>();
  14:              object obx = ClassHelper.CreateInstance(lstCustPropertyInfo);
  15:              ClassHelper.SetPropertyValue(obx, "xx", 789);
  16:              ClassHelper.SetPropertyValue(obx, "sname", "张三");
  17:              ClassHelper.SetPropertyValue(obx, "intime", DateTime.Now);
  18:              lp.Add(obx);
  19:              obx = ClassHelper.CreateInstance(lstCustPropertyInfo);
  20:              ClassHelper.SetPropertyValue(obx, "xx", 987);
  21:              ClassHelper.SetPropertyValue(obx, "sname", "李四");
  22:              ClassHelper.SetPropertyValue(obx, "intime", null);
  23:              lp.Add(obx);
  24:              
  25:              dataGrid1.ItemsSource = lp;
  26:          }

你可能感兴趣的:(Writer)