AspNet.sk     Vyvojari.sk     Silverlight QuickStarts Príručka     ASP.NET QuickStarts Príručka
QUICKSTARTS

ukážkové komponenty

Tento dokument obsahuje niekoľko ukážok, ktoré ukazujú ako vytvoriť interaktívne komponenty.

Tento dokument obsahuje nasledujúce sekcie.

ukážka hyperlink

Nasledujúca ukážka vytára hyperlink z objektov TextBlock a Line.

<Canvas Width="300" Height="300"
   xmlns="http://schemas.microsoft.com/client/2007"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  
 <!-- Hyperlink 
    --> <Canvas
    Width="90"
    Height="30"
    Canvas.Left="20"
    Canvas.Top="20"
    Background="transparent"
    Cursor="Hand"
    MouseEnter="hyperlink_MouseEnter"
    MouseLeave="hyperlink_MouseLeave"
    MouseLeftButtonDown="hyperlink_MouseLeftButtonDown">
    <TextBlock Text="hyperlink"
    Foreground="Blue"/> <Line
    Stroke="blue"
    StrokeThickness="1" X1="0" Y1="20" X2="65" Y2="20" x:Name="hyperlink_line" Opacity="0"/>
    </Canvas>
</Canvas>
function hyperlink_MouseLeftButtonDown(sender, args) {
    window.location = "about-frames.html";
}

function hyperlink_MouseEnter(sender,args)
{
    sender.findName("hyperlink_line").opacity = 1;
}

function hyperlink_MouseLeave(sender,args)
{
    sender.findName("hyperlink_line").opacity = 0;
}

Poznámka   Toto je alternatívna cesta ako vytvoriť hyperlink, ktorý je viac jednoduchý. Pozrite sa v dokumentácii vlastnosť TextDecorations objektu TextBlock v Silverlight SDK.

ukážka button (tlačítko)

Nasledujúca ukážka vytvára tlačítko z dvoch objektov Rectangle a TextBlock.

<Canvas Width="300" Height="300"
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
 <!-- Button 
    --> <Canvas
    x:Name="button"
    Canvas.Top="10"
    Canvas.Left="20"
    MouseLeftButtonDown="button_MouseLeftButtonDown" MouseLeftButtonUp="button_MouseLeftButtonUp"
    MouseEnter="button_MouseEnter"
    MouseLeave="button_MouseLeave"> <Canvas.RenderTransform> <TransformGroup> <TranslateTransform
    x:Name="button_transform"
    X="0"
    Y="0"/> </TransformGroup> </Canvas.RenderTransform> <Rectangle
    Stroke="#FF000000"
    Fill="sc#1,
        0.8123474, 0.8123474, 0.8123474" Width="128.8" 
                Height="56"
    x:Name="button_rectangle"/> <Rectangle
    Stroke="sc#1,
        0.912730157, 0.37122494, 0.17111966" StrokeThickness="5" 
                Width="126.8"
    Height="54"
    Canvas.Left="1"
    Canvas.Top="1"
    Opacity="0"
    x:Name="button_highlight"/> <TextBlock
    Text="Press
        me!" FontSize="20" Canvas.Left="22" Canvas.Top="12"/>
    </Canvas>
</Canvas>
var mouseOver = false;
var pressed = false;

function button_MouseLeftButtonDown(sender,args) {
    sender.captureMouse();
    mouseOver = true;
    pressed = true;
    updateVisuals(sender);
}

function button_MouseLeftButtonUp(sender,args) {
    sender.releaseMouseCapture();
    pressed = false;
    
    updateVisuals(sender);
    
    if (mouseOver) {
        alert("you
            pressed the button!");
    }
}

function button_MouseEnter(sender,args) {
    mouseOver = true;
    updateVisuals(sender);
}

function button_MouseLeave(sender,args) {
    mouseOver = false;
    updateVisuals(sender);
}

function updateVisuals(sender) {
    //background
    if (pressed && mouseOver) {
        sender.findName("button_rectangle").fill = "sc#1, 0.548430264, 0.5354195, 0.5354195";
        var transform = sender.findName("button_transform");
        transform.x = 2;
        transform.y = 2;
    } else {
        sender.findName("button_rectangle").fill = "sc#1, 0.8123474, 0.8123474, 0.8123474";
        var transform = sender.findName("button_transform");
        transform.x = 0;
        transform.y = 0;
    }
    
    // highlight
    if (mouseOver || pressed) {
        sender.findName("button_highlight").opacity = 1;
    } else {
        sender.findName("button_highlight").opacity = 0;
    }
}

ukážka slider (jazdec)

Nasledujúca ukážka vytvára jazdca z objektov Line a Path.

<Canvas Width="300" Height="300"
   xmlns="http://schemas.microsoft.com/client/2007"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   Loaded="slider_Loaded">
 <!-- Slider 
    --> <Canvas
    x:Name="slider"
    Canvas.Top="50"
    Canvas.Left="20"
    Width="200"
    Height="45"
    Background="transparent"> <Line
    x:Name="slider_line"
    Stroke="black"
    StrokeThickness="1" X1="0" Y1="25" X2="200" Y2="25" />
    <Rectangle Fill="Transparent"
    Width="200"
    Height="45"
    MouseLeftButtonDown="slider_MouseLeftButtonDown" />
    <Path 
        x:Name="slider_thumb"
    Stroke="#FF000000"
    Fill="sc#1,
        0.548430264, 0.5354195, 0.5354195" Data="M0,0 L11.5,0 11.5,30 5.75,40 0,30z"
    MouseLeftButtonUp="slider_thumb_MouseLeftButtonUp" MouseMove="slider_thumb_MouseMove"
    MouseLeftButtonDown="slider_thumb_MouseLeftButtonDown" 
            /> </Canvas> </Canvas>
var mouseDownPosition = 0;
var mouseDownValue = -1;
var thumbCenter = 5.75;

function slider_Loaded(sender, args) {
    slider_SetValue(sender, 0);
}

function slider_MouseLeftButtonDown(sender, args) {
    
    var coordinate = args.getPosition(null).x;
    var slider = sender.findName("slider");
    coordinate -= slider["Canvas.Left"];
    slider_SetValue(slider, coordinate - thumbCenter);  
}

function slider_thumb_MouseLeftButtonDown(sender, args) {
    var slider = sender.findName("slider");
    sender.captureMouse();
    mouseDownValue = slider_GetValue(slider);
    mouseDownPosition = args.getPosition(null).x;
}

function slider_thumb_MouseLeftButtonUp(sender, args) {
    var slider = sender.findName("slider");
    slider.releaseMouseCapture();
    mouseDownValue = -1;
}

function slider_thumb_MouseMove(sender, args) {
    var slider = sender.findName("slider");
    if (mouseDownValue != -1) {
        var newValue = mouseDownValue + (args.getPosition(null).x - mouseDownPosition);    
        slider_SetValue(slider, newValue);
    }   
}

function slider_GetValue(sender) {
    var thumb = sender.findName("slider_thumb");
    return thumb["Canvas.Left"]; 
}

function slider_SetValue(sender, newValue) {
    
    if (newValue > sender.width ) {
        newValue = sender.width;
        mouseDownValue = -1;
    }
    if (newValue < - thumbCenter) {
        newValue = - thumbCenter;
        mouseDownValue = -1;
    }
    var thumb = sender.findName("slider_thumb");
    
    thumb["Canvas.Left"] = newValue;
}
Microsoft .NET Framework SDK QuickStart Tutorials Version 2.0
Copyright © 2005 Microsoft Corporation. All rights reserved.
Preklad do slovenského jazyka - Copyright © 2005 - 2007 www.aspnet.sk, www.qsh.sk
Pošlite komentár k tejto stránke
Copyright © 2002 - 2008 Chastia, spol. s r. o., Igor Stanek, Designed by Lacino
Portál je hostovaný na serveroch firmy Quantasoft - www.qsh.sk.