WPF ‘e has bu şahane çekirdek object  DependencyObject.  DoubleAnimation iile etkilenebilen propertyler içerir bunlar da DependencyProperty örnek olarak OpacityProperty  için Window  objesinde çalışmıştım. şimdi  DependencyProperty sınıfındaki staticler arasında bulamadığımız propertyleri kendimiz register edip kullanıcaz.  

DependencyProperty  winColor = DependencyProperty.Register(“winColor”, this.Width.GetType(), this.GetType(), new PropertyMetadata(new PropertyChangedCallback(callit)));   

 

a winColor adında bir DependencyProperty oluşturduk. adını . tipini property iyesinin tipini ve bu  değeri uygulayacak callbacki belirttik. şimdi callit fonksiyonuyumuxu tanımlayalım. 

privatevoid callit(DependencyObject sender, DependencyPropertyChangedEventArgs e)
{
Array BrushArray = Enum.GetValues(typeof(Brushes));
int brushOrder=(int)Math.Floor((double)e.NewValue) % (BrushArray.Length-1);
(Window)sender).Background = (Brush)BrushArray.GetValue(brushOrder);

 

bu fonksiyonumuza DependencyObject ve DependencyPropertyChangedEventArgs referansları geliyor event değişkenimizde  newValue ve oldValue değerleri duruyor bunlar üzerine de bir çalışma yapmak istersek işimize yarayacaktır. şimdilik sadece newValu  atamak olacak  işimiz. 

değiştiren callbackimiz de musaitse artık bu property için anmiation tanımayabilirz.

DoubleAnimation animeBack = new DoubleAnimation(0,100,new Duration(TimeSpan.FromMilliseconds(10000)));
animeBack.RepeatBehavior =
RepeatBehavior.Forever;
this.BeginAnimation(winColor,animeBack);
 

dependencyproperty kütüphanesi hazırlıyorum yararlı olacak inş şimdilik bu kadar yeter.iyi çalışmalar…

hemen her projede kullandığım şeylerdir veri tabloları ve kesinlikle bunlarda bir de bir de stil isteriz. her bulaştığım dilde bir gridim oldu .netin data gridini de hiç sevmedim bu arada (: Smarty Template gibi  görünüm kazandırılabilen  her sütun için her sütun başlığı için  her satır için her hücreye için ayrı template  uygulanabileen  Callback’lerle güclendirilmiş (event-based) bir  html grid yazdım . tabi pagination bunun olmazsa olması onu da ekledim  ve MyBB stillerini kullandım (: ufak bir görüntü verip hemen kaynak kodları paylaşmak istiyorum. geliştirmek isteyen arkadaşlar da bu konu altında ya da bana mail atarak yazdıklarını gonderebilirler. iyi çalışmalar

D3Grid Sources

bugün oturum yönetimli  bir  proje üzerinde çalışırken ilk defa karşılaştığım bir hata aldım.

System.Web.HttpException: Session state can only be
used when enableSessionState is set to true, either in a configuration
file or in the Page directive. Please also make sure that
System.Web.SessionStateModule or a custom session state module is
included in the <configuration>\<system.web>\<httpModules> section in
the application configuration.

Türkçesi :

Oturum durumu yalnızca yapılandırma dosyasında veya Page yönergesinde enableSessionState true olarak ayarlandığında kullanılabilir. Lütfen, uygulama yapılandırmasındaki <configuration>\<system.web>\<httpModules> bölümüne System.Web.SessionStateModule veya özel bir oturum durumu modülünün de eklendiğinden emin olun

ilk aramalarımda enableSessionStat=true gibi bir ibare kullanmam gerektiği kanısındaydım ama sonra durumu  anladım ki .cs dosyanız bir aspx ile beraber derlenmiyorsa bu session web sessiondan farklı bir modul gibi kullanılabiliyor ama bu benim işime gelmez tabi ki..  BasePage.cs dosyamda session kontrolu yapmaya kalkmıştım bunda da doğal olarak hata almıştım. BasePage dosyamda session_start() adında protected bir fonksiyon tanımlayıp bunu türettiğim login sayfamda çağırdım  hepsi bu kolay gelsin..

merhaba arkadaşlar bugün wpf ile yazmaya devam ettiğim programıma kapanış penceresi ekledim  klasik   “kapatmak istediğinizden emin misinz ?”  diyaloglarından farklı birşey olmasını istedim. ilk önce görüntüsünü sonra da geri sayan kodları vermek istiyorum. 2 tane animasyon türeticez biri Opaklık için diğeri boyut için bunları isterseniz tek storyboard içine toplayabilirsiniz ama sadece 2 tane olduğu için ben tek tek yazıyorum

DoubleAnimations

0
1
 goster = new DoubleAnimation(0, 1, new Duration(new TimeSpan(0, 0, 0, 0, 500))); 
 buyut = new DoubleAnimation(1, 150, new Duration(new TimeSpan(0, 0, 0, 0, 500)));

Timer

0
1
2
3
4
5
private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            closeTimer.Tick += closeTimer_Tick;
            closeTimer.Interval = 1000;
            closeTimer.Enabled = true;
        }

Timer Tick

0
1
2
3
4
5
6
7
8
9
10
11
label1.BeginAnimation(System.Windows.Controls.Label.OpacityProperty, goster);
            label1.BeginAnimation(System.Windows.Controls.Label.FontSizeProperty, buyut);
            if (Convert.ToInt32(label1.Content) > 0)
            {
                label1.Content = (Convert.ToInt32(label1.Content) - 1).ToString();
                closeTimer.Enabled = true;
            }
            else
            {
                anaForm.CloseClosed = true;
                Close();
            }
© 2012 Tufan Suffusion theme by Sayontan Sinha