在blend排版布局后,转回到 Visual Studio 就会出现这个情况。

  会自动在xaml中添加d:LayoutOverrides=“Height” 属性。

  

<TextBlock Margin="112,392,256,394"  Text="TextBlock" d:LayoutOverrides="Height"/>

 

 

 

  解析:当设置控件为填充布局,手动调整设计中的元素,blend里面不清楚你所设计的高度或者宽度是多少,就自动定义LayoutOverrides。

  可以删除该定义,对于局部没有影响的。

 

 

    如有不足地方,请指出

 

posted @ 2010-12-10 12:36 小伍 阅读(472) 评论(0) 编辑

关于SL打印(二)

在本页面中有DataGrid数据绑定,可以根据数据加载实现分页打印

 

 

代码
List<EmployeeModel>() employees = new List<EmployeeModel>();

 
//调用打印

GetPrintPage(dataPager1.PageCount, dataPager1.PageSize)
//当前数据分页中dataPager1
//当前数据页行数PageSize

//employees 当前填充DataGrid的集合
//PageCount总页码
//Pagesize 每一页页数
public void GetPrintPage(int PageCount, int Pagesize)
        {
            PrintDocument pd 
= new PrintDocument();
            
int itemindex = 0;//从第一张打印
            int count = Pagesize;

            
//根据页码选择的数据
            pd.PrintPage += (s, pe) =>
            {
                StackPanel stack 
= new StackPanel();
                
while (itemindex < PageCount)
                {
                    
if (itemindex == PageCount- 1)
                    {
                        count 
= employees.Count - (Pagesize * itemindex);
                    }
                    List
<EmployeeModel> itemsource = LoadNewList(employees, itemindex * Pagesize, count);

                    PageP mode 
= new PageP();//当前要打印的页面(包含数据DataGrid)
                    int PrintPageindex = itemindex + 1;
                    mode.MinHeight 
= 1058;//根据A4纸显示高度
                    mode.dataGrid1.ItemsSource = itemsource;
                    stack.Children.Add(mode);

                    stack.Measure(
new Size(pe.PrintableArea.Width, double.PositiveInfinity));

                    
if (stack.DesiredSize.Height > pe.PrintableArea.Height | stack.Children.Count > 1)
                    {
                        stack.Children.Remove(mode);
                        stack.Measure(pe.PrintableArea);
                        pe.HasMorePages 
= true;
                        
break;
                    }
                    itemindex 
+= 1;
                }
                
                pe.PageVisual 
= stack;
            };
            pd.Print(
null);
        }


// 获取指定的List集合
  public static List<T> LoadNewList<T>(List<T> _source, int PIndex, int Pcounts)
        {
            List
<T> newList = new List<T>();

            newList.AddRange(_source.GetRange(PIndex, Pcounts));
            
return newList;
        }



 

 

 附:一般打印都是A4纸;A4纸的标准是宽21cm;高29.7cm.像素为:宽588px;高:862Px;

  一般除开边距margin(70,80,70,80) 余下部分就是可以是datagrid的高度,Pagesize=余下高度/(行高)。

 

 简单数据分页打印

 如有不足地方,请指出

 

posted @ 2010-12-06 13:16 小伍 阅读(483) 评论(1) 编辑

 

PrintDocument类为 Silverlight 应用程序提供打印功能。

 

 

要向 Silverlight 应用程序添加打印功能,应首先向应用程序添加 PrintDocument 对象。

若要显示打印对话框,应调用 PrintDocumentPrint() 方法。

Silverlight 中的所有对话框都必须是用户启动的。

当操作不是用户启动时,如果您试图显示打印对话框,则会导致 SecurityException

例如,如果您试图从 Loaded 事件处理程序中显示此对话框,则出现安全异常。

 

  //打印方法

   public static void PrintForm(this UIElement uielements)
        {
            var doc = new PrintDocument();

            doc.PrintPage += (s, e) =>
            {
                e.PageVisual = uielements;
                e.HasMorePages = false;
            };
            doc.Print(null);
        }

 

 

  LayoutRoot中显示要打印区域

 所在页面Click事件中调用打印PrintForm(LayoutRoot)。

 

 

 简单页面打印

 如有不足地方,请指出

 

 

 

 

posted @ 2010-12-04 18:35 小伍 阅读(569) 评论(2) 编辑

 

在silverlight可以随意更改控件的外观,以下是微软提供的几套主题

 

 

 

 

 

 

 

 

 

 

posted @ 2010-10-03 19:12 小伍 阅读(171) 评论(2) 编辑

创建基于 Silverlight 的应用程序时,首先要决定如何设置 UI 的布局。Silverlight 提供了 3 个可供使用的布局面板。默认的面板为 Grid,它是最灵活和最强大的布局面板。

 

StackPanel :将子元素排列成一行(可沿水平或垂直方向)。

Grid:在行和列中定位子元素

Canvas:在 x,y 空间中绝对定位子元素

 

这里来谈论一下他们的子元素 的排列

StackPanel Canvas会根据内容来设定大小。

 

 

grid会根据父面板来设定大小。

固定stackpanel,子元素1:固定大小,水平居中,垂直局顶

                                   2:无大小,无显示

                                   3:固定大小+水平居左,高度无变化固定是局顶

 

固定grid,子元素          1:固定大小,水平居中,垂直居中

                                   2:无大小,平铺满

                                   3:固定大小,根据设定显示水平和垂直

 

固定canvas,   子元素  1:固定大小,水平居左,垂直局顶

                                   2:无大小,无显示

                                   3:固定大小,根据设置水平和垂直都无反应,固定显示在水平居左,垂直局顶

 

:一般游戏界面布局用到canvas更容易排版,动态移动面板也容易保存

    应用程序中的表单排版 更容易用到grid。子控件会很好的填充,容易排版。

    用到不同的布局,还得需当然的需求来定。

 

  不选最好的,只选最合适的

posted @ 2010-10-03 19:09 小伍 阅读(314) 评论(0) 编辑

 

CASE OF SILVERLIGHT

 

 

http://www.microsoft.com/silverlight/default.aspx
http://silverlight.net/


使用silverlight构建一个图形化流程设计器
http://www.cnblogs.com/chegan/archive/2009/04/22/1440872.html


博客園silverlight技術專題
 http://kb.cnblogs.com/zt/silverlight/


一個不錯的SilverLight應用咧子
 http://www.windowsvista.si/main.htm


MSDN
 http://msdn.microsoft.com/zh-cn/library/cc838158(VS.95).aspx


Scott Morrison
The other Microsoft Scott
 http://blogs.msdn.com/scmorris/archive/2008/10/14/silverlight-2-datagrid-is-released.aspx


IronPython在客戶端執行代碼
  http://ironpython.codeplex.com/Wiki/View.aspx?title=SilverlightInteractiveSession

 

可参考的应用网站

1、网址:http://www.preiskombirechner.ch/Preis_Kombi_Rechner.ebs?ActiveID=1191

 

2、网址:http://www.bestfreecharts.com/

 

第三方控件:

1、RadControls Silverlight

网址:http://demos.telerik.com/silverlight/default.aspx#Home

 

开源控件:

1、翻书效果 :

网址:http://wpfbookcontrol.codeplex.com/

 

2、SilverLight TreeView:

网址:http://silverlighttreeview.codeplex.com/

 

3、Silverlight Ribbon

网址:http://silverlightribbon.codeplex.com/

 

4、Silverlight Audio Player

网址:http://slaudioplayer.codeplex.com/

 

5、Silverlight photo album

网址:http://photoalbum.codeplex.com/

 

6、 Silverligth Behaviors Toolkit

网址:http://sltoolkit.codeplex.com/

 

7、Priyakant's Silverlight Slide Show

网址:http://prisilverlightss.codeplex.com/

 

8、silverlight JacAD

功能描述:jacAD是一个使用silverlight 2 开发的广告轮播系统. 目前支持视频和图片的播放

网址:http://jacad.codeplex.com/

 

9、Silverlight ToolKit(太经典了,特别推荐一下)

网址:http://silverlight.codeplex.com/

 

10、Silverlight File Upload

网址:http://silverlightfileupld.codeplex.com/

 

11、Silverlight Video player

网址:http://sl2videoplayer.codeplex.com/

 

12、Silverlight Contrib

网址:http://silverlightcontrib.codeplex.com/

 

13、Silverlight Muti File Upload

网址:http://slfileupload.codeplex.com/

  

14、Silverlight Gantt Chart

网址:http://silverlightgantt.codeplex.com/

 

15、Silverlight Validator & Input Toolkit

网址:http://silverlightvalidator.codeplex.com/

 

16、Blacklight

网址:http://blacklight.codeplex.com/


     17、Silverlight PropertyGrid

网址:http://slpropertygrid.codeplex.com/

 

18、DeepZoomContainer, improved MultiScaleImage in Silverlight

网址:http://deepzoomcontainer.codeplex.com/

 

 
     19、Word 2007 XAML Generator

网址:http://word2007toxaml.codeplex.com/

 

企业应用程序

http://zion.earan.net/

posted @ 2010-10-03 19:07 小伍 阅读(181) 评论(0) 编辑

Microsoft Silverlight 是一种跨浏览器、跨平台的 .NET Framework 实现,用于为 Web 生成和提供下一代媒体体验和丰富的交互式应用程序 (RIA)。Silverlight 统一了服务器、Web 和桌面的功能,统一了托管代码和动态语言、声明性编程和传统编程以及 Windows Presentation Foundation (WPF) 的功能。

Silverlight 允许您创建具有以下功能的最先进的应用程序:

  • 它是一种跨浏览器、跨平台的技术。它在所有常见的 Web 浏览器中运行,包括 Microsoft Internet Explorer、Mozilla Firefox 以及 Apple Safari 和谷歌浏览器,并在 Microsoft Windows 和 Apple Mac OS X 上运行。

  • 它由可在数秒内安装的很小的下载程序支持。

  • 它对视频和音频进行流处理。它将视频品质调整到适合各种环境:从移动设备到桌面浏览器以及 720p HDTV 视频模式。

  • 它包括用户可以直接在浏览器中操作(拖动、旋转和缩放)的足够清晰的图形。

  • 它读取数据并更新显示内容,但是不通过刷新整个页面来打断用户。

  • 应用程序可以在 Web 浏览器中运行;您也可以配置应用程序,使用户可以在自己的计算机上运行该应用程序(浏览器外)。

具有丰富图形和用户交互的 Silverlight 应用程序
 

目前silverlihgt4比较稳定

posted @ 2010-10-03 19:04 小伍 阅读(245) 评论(0) 编辑