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

objekt Canvas

Objekt Canvas je určený na to, aby obsahoval a umiestňoval tvary a ovládacie prvky. Každý Silverlight XAML súbor má aspoň jeden Canvas, ktorý predstavuje koreňový element v tomto súbore. Tento dokument predstavuje objekt Canvas a popistuje ako pridať, nastaviť pozíciu a veľkosť vnorených objektov. Tento dokument obsahuje nasledujúce sekcie.

pridanie objektu do Vášho objektu Canvas

A Canvas contains and positions other objects. To add an object to a Canvas, insert it between the <Canvas> tags. The following example adds an Ellipse object to a Canvas. Because the Canvas is the root element, it is a best practice in XML to make any necessary xmlns declarations on that root element.

<Canvas
   xmlns="http://schemas.microsoft.com/client/2007"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    
  <Ellipse 
     Height="200" Width="200"
     Stroke="Black" StrokeThickness="10" Fill="SlateBlue" />
</Canvas>

A Canvas can contain any number of objects, even other Canvas objects.

nastavenie pozície tohto objektu

Nastavenie pozície v objekte Canvas je možné nastavením pripojených vlastností Canvas.Left a Canvas.Top na danom objekte. Pripojená vlastnosť Canvas.Left špecifikuje vzdialenosť medzi objektom a ľavým okrajom jeho rodičovského objektu Canvas a pripojená vlastnosť Canvas.Top špecifikuje vzdialenosť medzi vnoreným objektom a vrchným okrajom jeho rodičovského objektu Canvas. Nasledujúca ukážka ukazuje elipsu z predchádzajúcej ukážky a umiestni ju 30 pixelov z hora a 30 pixelov z ľava od objektu Canvas.

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Ellipse 
      Canvas.Left="30" Canvas.Top="30" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="SlateBlue" />
</Canvas>

Nasledujúca ilustrácia znázorňuje súradnicový systém objektu Canvas a pozíciu elipsy v ňom.

z-súradnica

Štandardne z-súradnica objektu v objekte Canvas je definovaná poradím v akej je deklarovaná. Objekty deklarované neskôr sú v popredí objektu, ktorý bol deklarovaný pred ním. V nasledujúcej ukážke vytvoríme tri elipsy (objekty Ellipse). Všimnite si elipsu deklarovanú ako poslednú (citrónovej farby), že je v popredí pred ostatnými elipsami.

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  
  <Ellipse 
      Canvas.Left="5" Canvas.Top="5" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="Silver" />
      
  <Ellipse 
      Canvas.Left="50" Canvas.Top="50" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="DeepSkyBlue" />      
      
  <Ellipse 
      Canvas.Left="95" Canvas.Top="95" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="Lime" />     
              
</Canvas>

Toto chovanie môžete zmeniť nastavením pripojenej vlastnosti Canvas.ZIndex objektu vo vnútri objektu Canvas. Vyššie hodnoty sú bližšie poprediu, nižšie hodnoty sú ďalej od popredia. Nasledujúca ukážka je podobná predchádzajúcej, s tým rozdielom, že nastavuje hodnoty z-order každel elipsy. Elipsy deklarované skôr sa tentokrát zobrazia na popredí (na vrchu bude strieborná elipsa).

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  
  <Ellipse 
      Canvas.ZIndex="3"
      Canvas.Left="5" Canvas.Top="5" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="Silver" />
      
  <Ellipse 
      Canvas.ZIndex="2"
      Canvas.Left="50" Canvas.Top="50" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="DeepSkyBlue" />      
      
  <Ellipse 
      Canvas.ZIndex="1"
      Canvas.Left="95" Canvas.Top="95" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="Lime" />     
              
</Canvas>

kontrolovanie šírky a výšky

Objekt Canvas, rôzne tvary a mnoho ďalších elementov má vlastnosti Width a Height, ktoré Vám dovoľujú špecifikovať ich rozmery. Nasledujúca ukážka vytvorí elipsu 200 pixelov širokú a 200 pixelov vysokú. Udávanie rozmerov v percentách nie je podporované.

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Ellipse 
      Canvas.Left="30" Canvas.Top="30" 
      Height="200" Width="200"
      Stroke="Black" StrokeThickness="10" Fill="SlateBlue" />

</Canvas>

Nasledujúca ukážka ukazuje nastavenie šírky a výšky rodičovského Canvas objektu na 200 a nastaví mu citrónovo zelené pozadie.

<Canvas
   xmlns="http://schemas.microsoft.com/client/2007"
   xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
   Width="200" Height="200"
   Background="LimeGreen">
    
  <Ellipse 
    Canvas.Left="30" Canvas.Top="30" 
    Height="200" Width="200"
    Stroke="Black" StrokeThickness="10" Fill="SlateBlue" />
</Canvas>

Keď spustíte Vašu ukážku, citrónovo zelený štvorec objektu Canvas bude ohraničený šedým pozadím plug-inu, ktorý hostuje náš Canvas. Zaujímavé je tiež, že elipsa nie je odrezaná, ale prečnieva aj mimo okraje objektu Canvas.

vnorené objekty Canvas

Canvas môže obsahovať aj ďalšie objekty Canvas. Nasledujúca ukážka vytvorí objekt Canvas, ktorý obsahuje ďalšie dva objekty Canvas.

<Canvas
    xmlns="http://schemas.microsoft.com/client/2007"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Canvas Height="50" Width="50" Canvas.Left="30" Canvas.Top="30"
      Background="blue"/>
  
  <Canvas Height="50" Width="50" Canvas.Left="130" Canvas.Top="30"
      Background="red"/>
</Canvas>

čo ďalej?

Nasledújúca časť kreslenie a vypĺňanie popisuje ako vytvoriť komplexné tvary a ako ich vyplniť jednoduchými farbami, farebnými prechodmi a obrázkami.

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.