接着贴下个部分
MediaCenter编程MCML
Media Center不能做的事:
不能改变已有的程序界面——media center不是用户定制的环境!
不能使用已经存在的Object——只有3个可用的Object:Text,Graphics,ColorFills其他的只能从0写起!
所有用户界面相关的.net AX等等都不可用!
MCML M(mode) V(view)模式 M——.net Object
<Mcml xmlns=”…”></Mcml> à 头
Xmlns:cor=”assembly://mscorlib/System” ànamespace
<UI Name=”name”></UI> à类似于控件 必须有唯一的名字 有四个元素
<Content></Content> à可视属性 如button
<Properties></Properties>à公有数据成员 如button显示的名字
<Locals></Locals>à私有数据成员 如button的事件句柄 局部变量
<Rules></Rules>à逻辑
Content内可以是可见元素Text,Graphics,ColorFills
也可以是容器元素Panel, Clip, Scrollers
还有一个特殊的元素repeter
可见元素
Text
一行或多行,大部分字体(不是全部)
属性
Content=”Hello World”
Font=”<font name>,<font size>”
Color=”White” Color=”255,255,255”
Graphic
一张图片 bitmap jpeg png
属性
Conten=”resx://assembly/class/name”
AquiringImage=”...”
ErrorImage=”…”
ColorFill
一个矩形填充的区域
Content=”Black” Content=”255,255,255”
容器元素
任何控件都可以是容器,可以包含<Children></Children>子节点
Panel
不可见,子控件越界依然可见,但是可以统一控制子控件行为。
Clip
子控件越界不可见
属性
Orientation=”Vertical” 边界渐变方向
Scrollers和Repeater
公共属性
几乎所有元素都具有的
Visible=”true”可见
Alpha=”0.75”透明度
Scale=”1,0.5,2”拉伸 X Y Z 轴
Rotation=”90deg(3rad), 0, 0, 1” 旋转 度数或弧度 旋转轴轴
CenterPointPercent=”0.5, 0.5, 0.5” 旋转 拉伸的中心点 比例
CenterPointOffset=”20,20,0”中心点 偏移
Padding=”5,5,5,5”边框
Margins=”5,5,5,5”边距
MaximumSize=”200, 200”
MinmumSize=”200, 200”
FadeSize=”20”边缘渐变大小
NearOffset=”-20”边缘渐变偏移
Properties
可以从父控件继承,对控件重用至关重要
<cor:String Name=”MyStringProperty” cor:String=”Default”>
创建一个名字叫MyStringProperty 默认值为Default的String
默认值设为”$Required”则必须需要指定值,否则会抛出异常
使用时 可以用”[MyStringProperty]”代表这个String值
Xmlns:me=”Me”
<UIName MyStringProperty=”value”>
Locals
不能被继承,只能自己唯一一个控件使用,其他同Properties,用于事件和与.net交互的数据
例如<Locals><ClickHandler Name=””ClickedMe></Locals>鼠标点击事件
Rules
控件的逻辑,用户操作的界面响应
Set
设置一个MCML或者.n