Başlangıç

SilverLight 4.0 ile sürükle bırak kodları (en basit haliyle)

Yorum bırakın


  • önce bir silverlight projesi oluşturun. (Blend veya visual studio)
  • oluşan projedeki MainPage.xaml dosyasının içeriği.
  • LayoutRoot Canvas olacak. Sayfaya bir adet border1 ve içine bir resim ekledim. bir dikdörtgende olabilirdi.

<UserControl x:Class=”suruklebirak.MainPage”
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml&#8221;
xmlns:d=”http://schemas.microsoft.com/expression/blend/2008&#8243;
xmlns:mc=”http://schemas.openxmlformats.org/markup-compatibility/2006&#8243;
mc:Ignorable=”d”
d:DesignHeight=”300″ d:DesignWidth=”400″>

<Canvas x:Name=”LayoutRoot” Background=”White”>
<Border x:Name=”border1″ BorderBrush=”Black” BorderThickness=”1″ Height=”116″ Canvas.Left=”180″ Canvas.Top=”84″ Width=”129″ MouseLeftButtonDown=”border1_MouseLeftButtonDown” MouseLeftButtonUp=”border1_MouseLeftButtonUp” MouseMove=”border1_MouseMove” >
<Image x:Name=”resim” Source=”/basket.png” Stretch=”Uniform”></Image>
</Border>
</Canvas>
</UserControl>

  • MainPage.xaml.cs dosyasının  içeriği.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace suruklebirak
{
public partial class MainPage : UserControl
{
private Point koordinatal;
private Boolean tasimadurum = false;
public MainPage()
{
InitializeComponent();
koordinatal = new Point();//nesne tanımla
}

private void border1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
tasimadurum = true;//taşıma aç
koordinatal = e.GetPosition(border1); //cerçeve koordinatlarını al

}

private void border1_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
tasimadurum = false;//taşıma dur
}

private void border1_MouseMove(object sender, MouseEventArgs e)
{
if (tasimadurum)
{
Point p = e.GetPosition(null);//mousenin sahne üzerindeki koordinatlarını al
double x = p.X – koordinatal.X;
double y = p.Y – koordinatal.Y;
this.border1.SetValue(Canvas.LeftProperty, x);
this.border1.SetValue(Canvas.TopProperty, y);
}
}
}
}

Reklamlar

Silverlight 4.0 ile Bir Nesneyi En Basit Kod (C#) ile Taşıma (Drag Drop)

Yorum bırakın


Visual Studio veya Expression Blend ile yeni bir silverlight projesi oluşturun.

  • MainPage.xaml Dosyası İçeriği;

<UserControl
xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation&#8221;
xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml&#8221;
x:Class=”dragdrop1.MainPage”
Width=”640″ Height=”480″>

<Grid x:Name=”LayoutRoot” Background=”White”>
<Rectangle x:Name=”dikdortgen” Width=”50″ Height=”50″ Fill=”Blue” HorizontalAlignment=”Left” VerticalAlignment=”Top” MouseLeftButtonUp=”dikdortgen_MouseLeftButtonUp” MouseLeftButtonDown=”dikdortgen_MouseLeftButtonDown” MouseMove=”dikdortgen_MouseMove“>
<Rectangle.RenderTransform>
<TranslateTransform x:Name=”dik_donme_hareket” X=”0″ Y=”0″ />
</Rectangle.RenderTransform>
</Rectangle>
</Grid>
</UserControl>

  • MainPage.xaml.cs dosyasının içeriği;

 

private Boolean dik_mouse_durumu = false;

private void dikdortgen_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
this.dikdortgen.ReleaseMouseCapture();
dik_mouse_durumu = false;
}

private void dikdortgen_MouseLeftButtonDown(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
this.dikdortgen.CaptureMouse();
dik_mouse_durumu = true;
}

private void dikdortgen_MouseMove(object sender, System.Windows.Input.MouseEventArgs e)
{
if (dik_mouse_durumu)
{
this.dik_donme_hareket.X = e.GetPosition(this).X;
this.dik_donme_hareket.Y = e.GetPosition(this).Y;
}
}

 

PCI Guru

A common sense approach to achieving PCI compliance and retaining your sanity

Penetration Testing Lab

Articles from the Pentesting Field

Bana Silverlight Anlat

meslek lisesi ders notları

Eren ÇOLAK

Yazılım Mühendisi Olmak Yolunda İlerliyor...