Windows Phone da border kontrolümüzün border’larının (kenarlarının) renklerini nasıl değiştireceğiz? Şimdi hep birlikte öğrenelim. Öncelikle bir Windows Phone projesi açalım ve Toolbox’dan bir tane border kontrolümüzü koyalım.

Bu şekilde üstüne çift tıklayınca xaml kodu olarak aşağıdaki kod satırı gelecektir. Şimdi bu kod satırını yakından inceleyim.

<Border BorderBrush="Black" BorderThickness="1" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Margin="131,87,0,0" Grid.Row="1"/>

BorderBrush border kontrolümüzün çerçeve renginin siyah olduğunu söyler.

BorderThickness border kontrolümüzün çerçeve kısmının kalınlığının 1 olduğunu söyler. Kalın çerçeve olmasını istiyorsanız bu kısmı 3 5 gibi sayılar verebilirsiniz.

Şimdi gelelim. Border kontrolümüzün üzerine tıklayınca çerçeve rengi beyazdan kırmızı olsun. Öncelikle kontrolümüze bir isim veriyoruz. Kalınlığını daha geniş yapıyoruz ve tıklama olduğu zaman çalışacak olan metodumuzu da tetikliyoruz.

Şimdi border kontrolümüzü aşağıdaki gibi değiştirin.

<Border x:Name="borderRenkDegistir" BorderBrush="White" BorderThickness="15" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Margin="131,87,0,0" Grid.Row="1"/>

Şimdi borderRenkDegistir ismindeki kontrolümüzün tıklama eventi olarak Tap eventini properties penceresinden tetikleyelim.

event

Şimdi C# kodlarımızı yazacağımız ekran karşımıza çıktı. Öncelikle aşağıdaki kütüphanemizi eklemeyi unutmayın.

using System.Windows.Media;

Class seviyesinde yeni bir renk tanımlayalım ve bu renk kırmızı olsun. Artık red diye değişkenimde kırmızı rengimin olduğunu biliyorum. Daha sonra white değişkenime de beyaz rengini atayalım.

SolidColorBrush kırmızı = new SolidColorBrush(Colors.Red);
SolidColorBrush beyaz = new SolidColorBrush(Colors.White);

Daha sonra sayfamızın Constructor’ın da sayfa ilk açıldığında borderRenkDegistir kontrolümüzün rengini beyaza atayalım.

borderRenkDegistir.BorderBrush = beyaz;

Şimdi borderRenkDegistir_Tap metodumuza gelelim ve aşağıdaki kodları yazalım.

if (borderRenkDegistir.BorderBrush == beyaz)
            {
                borderRenkDegistir.BorderBrush = kırmızı;
            }
            else borderRenkDegistir.BorderBrush = beyaz;

Böylece eğer borderRenkDegistir kontrolümüzün rengi beyaz ise kırmızıya kırmızı ise beyaza çevir işlemini yaptık. Artık border kontrolümüze her tıkladığımızda renginin sürekli değiştiğini göreceksiniz. Açılan sayfada ilk olarak rengini beyaza atadığımızı da unutmayın.

İşte kod tarafında bir kontrolümüzün rengini değiştirmek bu kadar basittir.

Cs. kodlarını aşağıda olduğu gibi paylaşıyorum. xaml sayfasında sadece bir tane border koyduğumuz için sadece onun kodunu yeniden koyuyorum.

xmal kod:

<Border x:Name="borderRenkDegistir" BorderBrush="White" BorderThickness="15" HorizontalAlignment="Left" Height="100" VerticalAlignment="Top" Width="100" Margin="131,87,0,0" Grid.Row="1" Tap="borderRenkDegistir_Tap"/>

cs kod:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using borderlar.Resources;
using System.Windows.Media;
namespace borderlar
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            borderRenkDegistir.BorderBrush = beyaz;
        }
        SolidColorBrush kırmızı = new SolidColorBrush(Colors.Red);
        SolidColorBrush beyaz = new SolidColorBrush(Colors.White);
        private void borderRenkDegistir_Tap(object sender, System.Windows.Input.GestureEventArgs e)
        {
            if (borderRenkDegistir.BorderBrush == beyaz)
            {
                borderRenkDegistir.BorderBrush = kırmızı;
            }
            else borderRenkDegistir.BorderBrush = beyaz;
        }
    }
}

ekran görüntüsü 1  ekran görüntüsü 2

Yazan Sümeyra Akbıyık
hakkımdaki her şeyi bu blogda bulabilirsin. Haydi sende bir göz gezdirmeye ne dersin?

Yorum bırak