Sayfa içi Silverlight uygulamaları

0 dakikada yazıldı

5946 defa okundu

Düzenle

Sayfa içi Silverlight kullanımı özellikle Silverlight animasyonlarını ve
görsellerini oluşturan XAML kodunu sunucu tarafında oluşturuyorsanız
belirli senaryolarda işinizi kolaylaştırabilir. Örneğin bir ASP.NET
Repeater
içerisinde ItemTemplate'ler ile XAML kodu oluşturmak bu
konsept içerisinde mümkün.

Normal şartlarda bir Silverlight uygulaması createSilverlight
fonksiyonundaki Silverlight.createObjectEx metoduna verilen
source parametresinde yazan adresteki XAML kodunu alarak gerekli
animasyonları oluşturur. Source parametresi içerisinde aşağıdaki
gibi # işaret ile başlayarak bir kaynak belirttiğinizde
Silverlight.createObjectEx fonksiyonu **** sayfa içerisinde uygun
bir XAML kaynağı arayacak ve varsa gerekli yüklemeyi sağlayacaktır.

function createSilverlight()

{

  var scene = new ITU2.Page();

  Silverlight.createObjectEx({

    source: "#CODE",

    parentElement: document.getElementById("SilverlightControlHost"),

    id: "SilverlightControl",

    properties: {

      width: "100%",

      height: "100%",

      version: "1.0"

    },

    events: {

      onLoad: Silverlight.createDelegate(scene, scene.handleLoad)

    }

  });

}

Peki #CODE da nedir? Yukarıdaki gibi #CODE dediğimizde
Silverlight harici bir XAML dosyasına bakmak yerine
createSilverlight fonksiyonunun çalıştırıldığı sayfada ID bilgisi
CODE olan bir SCRIPT bloğu arayacak. Söz konusu SCRIPT bloğunun
aşağıdaki gibi TYPE özelliğinin de TEXT/XAML olması gerekir.

<html xmlns="http://www.w3.org/1999/xhtml"\>

<head>

  <script type="text/javascript" src="Silverlight.js"></script>

  <script type="text/javascript" src="Default_html.js"></script>

  <script type="text/javascript" src="Page.xaml.js"></script>

  <style type="text/css">

    .silverlightHost {

      height: 480px;

      width: 640px;

    }

  </style>

</head>

 

<body>

<script
id
="CODE" type="text/xaml">

<Canvas

  xmlns="http://schemas.microsoft.com/client/2007"

  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

  Width="300" Height="300"

  Background="White"

  x:Name="Page"

  > 

  <Rectangle Width="0"
Height="2" Fill="#FFFB0000" Stroke="#FF000000" RadiusX="26.5" RadiusY="26.5" Canvas.Left="-113" Canvas.Top="166"/>

</Canvas>

</script>

  <div id="SilverlightControlHost" class="silverlightHost">

    <script type="text/javascript">

      createSilverlight();

    </script>

  </div>

</body>

</html>

Yukarıdaki örnekte de görebildiğiniz üzere Silverlight uygulaması ile
ilgili tüm XAML kodu SCRIPT tagları arasına yerleştirilmiş durumda. Daha
önceki adımda JavaScript tarafında #CODE diyerek burada ID bilgisi
CODE olan bölümden gerekli XAML içeriğinin alınmasını sağladık.
Silverlight uygulamamız normal bir Silverlight animasyonu olarak
çalışmaya devam edecektir. Direk sayfa içerisinde bulunan bu XAML kodunu
harici bir sayfa yaratmadan Repeater gibi nesnelerle veritabanına
bağlayarak kullanmamız bu teknik ile çok daha kolaylaşıyor.

Hepinize kolay gelsin.