none
在Eclipse中开始Silverlight编程之旅(3) RRS feed

  • 常规讨论

  • 为程序自定义代码

    现在我们在Page.xaml文件为用户添加接口代码,XAML即可扩充应用程序标记语言,XAML文件实际上是一个XML文件,双击Page.xaml在编辑器中打开它,下面面板显示源代码,上面面板显示预览效果。你会看到文件中已经包含了一些框架代码,顶层的UserControl元素包含所有的Silverlight内容,我们从移除Width和Height参数开始,这样

    <UserControl x:Class="SyndicationFeedReader.Page"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    >
    <Grid x:Name="LayoutRoot" Background="Purple">
    <Grid.RowDefinitions>
    <RowDefinition Height="70" />
    <RowDefinition Height="*" />
    </Grid.RowDefinitions>
    </Grid>
    </UserControl>

    Silverlight Grid控制和HTML表类似,但语法稍有不同,我们的Silverlight程序将包括两行,上面的行容纳一个标记和按钮,下面的行容纳反馈项目,及一个反馈项目列表,被选中的项目将以HTML样式显示。

    想要添加一个行的定义,使用如下语法:

    <UserControl x:Class="SyndicationFeedReader.Page"
    Xmlns=http://schemas.microsoft.com/winfx/2006/xaml/presentation
    xmlns:x=http://schemas.microsoft.com/winfx/2006/xaml
    >
    <Grid x:Name="LayoutRoot" Background="Purple">
    </Grid>
    </UserControl>

    接下来我们要添加一个水平方向的StackPanel来容纳标签文本和按钮,可以使用右侧的选项面板,点击‘容器’,然后拖动StackPanel项目到代码窗口,在标记后输入一个空格,然后按Ctrl+空格键,弹出代码提示窗,向下滚动到Orientation,或输入‘O’加速搜索速度,双击选中它,保持默认值‘Horizontal’即可。

    我们两个StackPanel控制器将会是一个TextBlock和一个Button,TextBlock将会赋予‘Wired’(本文我们用它作为反馈的名字),注意不是所有的反馈都可以工作,这个域必须通过在服务器上托管一个小文件执行跨域访问,如wired.com上的这个文件。

    想要增加一个文本块(TextBlock),在选项面板上点击控制器(Controls),然后拖动TextBlock到你的代码窗口中两个StackPanel标记之间,然后点击按钮,拖动按钮控制器到代码窗口中TextBlock下,象下面这样配置控制器,不用告诉它不要使用grid的第一行(row 0),因为默认就是这样了,使用StackPanel时,你可以使用Ctrl+空格键得到语法帮助。

    <StackPanel Orientation="Horizontal">
    <TextBlock Text="Wired"
    VerticalAlignment="Center"
    FontSize="36"
    Padding="10"
    Foreground="White"
                    />
    <Button Content="Get Feed"
    Margin="5"
    Height="50"
    Width="100"
    Foreground="Purple"
    />
    </StackPanel>

    迄今为止一切顺利,但按钮还没有起任何作用,我们还需要在按钮上添加事件控制程序,当点击按钮时就访问反馈,在按钮的结束方括号前插入光标,按Ctrl+空格键,代码提示只有一个选项,即点击事件,双击选中它,将会显示一个事件处理程序对话框,输入Btn_Click作为事件的名称,然后点击确定。

     

    图 14 从代码提示中选择点击事件,将会显示一个事件处理程序对话框


    My blog: http://blog.csdn.net/dotfun http://dotfun.cnblogs.com

    My contact: QQ:372900288 E-mail:372900288@qq.com msn:sellnet007@hotmail.com

    2009年3月17日 8:52
    版主