Har inte hållt på med Silverlight allt för länge men undrar om det finns nått "enkelt" sätt göra en händelse? Alltså ett enkelt sätt så när jag trycker på en "Knapp" (elipce är det väll men) så byts bild i mitt bildspel. Kod exempel. Ser kanske lite komplext ut...men det är för att jag tycker man bör objekt orienterade principer när man kör silverlight 1.0. Den innehåller dessutom 2 olika sätt hantera eventet... Om det känns knöligt att förstå så testa att köra koden och "alerta" lite för att se vad som händer eller debugga om du kör VS2008. Är det ändå svårt att hänga med så säg till...BildSpel
Använder mig av expression Blend 2 December Preview och visual studio 2005 pro.
Om det inte finns nån enkelt sätt så önskar jag att någon länkar till en sida där man kan lära sig skriva koden. Helst svenska men egelska går också.
Har ni några andra bra länkar om silverlight får ni även posta dem också.
Min länk: http:\\www.silverlight.net\Sv: BildSpel
Min xaml fil ser ut så här:
<Canvas xmlns="http://schemas.microsoft.com/client/2007" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Rectangle x:Name="rect" Width="100" Height="100" Fill="Black"></Rectangle>
</Canvas>
min js-fil ser ut så här:
if (!window.SilverlightJOOPDemo)
window.SilverlightJOOPDemo = {};
SilverlightJOOPDemo.Scene = function()
{}
SilverlightJOOPDemo.Scene.prototype =
{
handleLoad: function(plugIn, userContext, rootElement)
{
this.plugIn = plugIn;
this.rect = new SilverlightJOOPDemo.Rectangle();
this.rect.initiate(rootElement.children.getItem(0));
// Alternativ handler för mouseDown...
this.rect.mouseDownHandler = handleMouse;
}
}
function handleMouse(sender, e)
{
sender["Fill"] = "Brown";
}
SilverlightJOOPDemo.Rectangle = function()
{}
SilverlightJOOPDemo.Rectangle.prototype =
{
initiate: function(rectangle)
{
this.mouseDownHandler = null;
this.rect = rectangle;
this.rect.addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.MouseLeftButtonDown));
this.rect.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, this.MouseLeftButtonUp));
},
MouseLeftButtonDown: function(sender, eventArgs)
{
if (this.mouseDownHandler != null)
this.mouseDownHandler(sender,eventArgs);
else
this.rect["Fill"] = "Yellow";
},
MouseLeftButtonUp: function(sender, eventArgs)
{
this.rect["Fill"] = "Black";
}
}
CreateSilverlight anropet är standard modellen från Silverlight Projekt mallen dvs
if (!window.Silverlight)
window.Silverlight = {};
function createSilverlight()
{
var scene = new SilverlightJOOPDemo.Scene();
Silverlight.createObjectEx({
source: 'Scene.xaml',
parentElement: document.getElementById('SilverlightPlugInHost'),
id: 'SilverlightPlugIn',
properties: {
width: '400',
height: '400',
background:'#ffffff',
isWindowless: 'false',
version: '1.0'
},
events: {
onError: null,
onLoad: Silverlight.createDelegate(scene, scene.handleLoad)
},
context: null
});
}
Silverlight.createDelegate = function(instance, method) {
return function() {
return method.apply(instance, arguments);
}