İpinUcu ~ 97 – WPF’te Dikey TextBlock Kullanımı

WPF’te Dikey TextBlock Kullanımı için LayoutTransform ile oynamak yeterli olacaktır. XAML’a bakalım:

    <TextBlock Text="Mehmet KAPLAN">
            <TextBlock.LayoutTransform>
                <RotateTransform Angle="-270"/>
            </TextBlock.LayoutTransform>
        </TextBlock>

Buna göre Mehmet KAPLAN yazısı dikey olarak yazılacaktır. Tam tersi şekilde olsun isterseniz -270 yerine 270 yazmanız yeterli olur. Aynı kodları Label için de kullanabilirsiniz.

Haydi kolay gelsin.

İpinUcu ~ 96 – WPF Application.Current Özelliği

WPF Application.Current özelliği WPF’teki geçerli Application’a erişmek için kullanılır.

Bir önceki yazımda paylaştığım ShutdownMode değiştirme örneğine bakalım:

Application app1= Application.Current;
app1.ShutdownMode = ShutdownMode.OnLastWindowClose;

Buna göre var olan Application’ndaki ShutdownMode’a erişebiliyoruz.  Ayrıca pencereler arası veri taşıma işlemleri için de bunu kullanabiliriz. Bununla ilgili örneği aşağıdaki bağlantıdan görebilirsiniz:

http://stackoverflow.com/questions/2219097/how-can-i-access-one-windows-control-richtextbox-from-another-window-in-wpf

Aynı konuyla ilgili Daron YÖNDEM’in de bir yazısı bulunmakta:

http://daron.yondem.com/tr/post/c710f64b-5f07-45ae-936a-243943eb786a

Söz konusu konunun MSDN sayfası: http://msdn.microsoft.com/tr-tr/library/system.windows.application.current.aspx

Haydi kolay gelsin.

İpinUcu ~ 95 – WPF Program Kapatma Senaryoları (ShutdownMode)

WPF Program Kapatma Senaryoları (ShutdownMode) WPF uygulamalarında pencerelerin kapandıklarında neler yapılacağı, programın hangi hallerde tamamen kapanacağına dair bir özellik . Bunu Application.Shutdown özelliğiyle bunu sağlayabiliyoruz.

Shutdown özelliğine verebileceğimiz üç değer var.

Birincisi OnExplicitShutdown. Bu değeri verdiğimizde pencereler kapansa bile program arka tarafta çalışmaya devam edecektir.

İkincisi OnLastWindowClose.  Bu değeri verdiğimizde ana pencere kapansa bile diğer pencereler kapanmaz. Tek bir açık pencere kalmayana dek kapattığınızda kapanır. Örneğin bir ana pencerenin altında dört tane açık pencere var. Yani beş tane açık pencere var. Bu beş pencerenin beşi de kapanana kadar program kapanmayacaktır. Burada hangi pencerenin açık \ kapalı olduğunun önemi yoktur. Kısacası açık pencereye kalmayana dek kapandığında program sona erer.

Üçüncüsü OnMainWindowClose. Bu değeri verdiğimizde yalnızca ana pencere kapandığında program kapanacaktır.

ShutdownMode özelliğini kullanacağımız yerse App.xaml Buraya StartupUri’nin hemen altına ShutdownMode=”OnMainWindowClose” kodlarını yazarak kullanabiliriz.

C# tarafındaysa:

Application app1= Application.Current;
app1.ShutdownMode = ShutdownMode.OnLastWindowClose;

İlgili MSDN sayfası: http://msdn.microsoft.com/tr-tr/library/system.windows.application.shutdownmode.aspx

Haydi kolay gelsin.

WPF ve Silverlight DevExpress Gauges Nesnesi

WPF ve Silverlight DevExpress Gauges – Dijital Gauges Nesnesi nesnesi v2011 volume 2 sürümüyle beraber kullanıma sunuluyor. DevExpres’in konuyla ilgili müjde haberi için aşağıdaki bağlantıyı kullanabilirsiniz.

http://community.devexpress.com/blogs/bryan/archive/2011/10/05/wpf-and-silverlight-gauges-digital-gauge-control-coming-soon-in-v2011-vol-2.aspx

 

İpinUcu ~ 94 – WPF DevExpress GridControl’ü Excel’e Aktarma

WPF DevExpress GridControl’ü Excel’e Aktarma, aynı PivotGridControl’de olduğu gibi fazlasıyla basit. Aradaki tek fark, GridControl’ü değil, aslında View’ı yazdırıyor olmamız. Bakalım:

Normalde GridControl.ExportToXlsx(“c:\\tablo.xlsx”); diyerek kaydediyor olmamız gerekirdi. Ama DevExpress’in geliştiricileri bu yöntemi View için yazmışlar, yaani:

tableView1.ExportToXlsx(“c:\\grid.xlsx”);

Arka tarafta bu kodu yazdığımızda istediğimizi elde etmiş oluyoruz. Ayrıca DevExpress’in XLSX aktarma seçenekleri de mevcut:

 XlsxExportOptions xlsxopt = new XlsxExportOptions();
            xlsxopt.SheetName = "Mehmet KAPLAN";
            xlsxopt.ShowGridLines = true;
 tableView1.ExportToXlsx("c:\\grid.xlsx",xlsxopt);

Gibi bir eklemeyle de değişiklikler yapabiliriz.

Peki bunun dışında hangi türlere aktarabiliyoruz? csc, html, mht, xls, xlsx, pdf, text, image, rtf türlerinin hepsine aktarabiliyoruz.

Haydi kolay gelsin.

İpinUcu ~ 93 – WPF DevExpress PivotGridControl’ü Excel’e Aktarma

WPF DevExpress PivotGridControl’ü Excel’e Aktarma işi DevExpress sayesinde çook ama çook kolay. Yalnızca kod tarafında yapmamız gereken işlem şu:

pivotGridControl1.ExportDosyaTürü();

Peki başka nelere aktarabiliyoruz?  csc, html, mht, xls, xlsx, pdf, text, image, rtf türlerinin tamamına aktarabiliyoruz. Deneyin, görün. =]

Haydi kolay gelsin.

İpinUcu ~ 92 – WPF DevExpress PivotExcelFieldListControl Kullanımı

WPF DevExpress PivotExcelFieldListControl, DataGrid’lerden alışık olduğumuzda ‘Alan Seçici”nin PivotGrid için uyarlanmış halidir. Böyle düşünebiliriz. PivotGrid’deki tüm alanların yönetimi ve hangi bölümlerde olacağı gibi özelleştirmelerin yapıldığı bir nesnedir. Hemen örneğe geçelim:

Bu arada: WPF DevExpress PivotFieldListControl

 <DockPanel >
   <dxpg:PivotExcelFieldListControl  Owner="{Binding ElementName=pivotGridControl1}" DockPanel.Dock="Left" />
   <dxpg:PivotGridControl Name="pivotGridControl1" DockPanel.Dock="Right">
   <dxpg:PivotGridControl.Fields>
   <dxpg:PivotGridField FieldName="ID" RunningTotal="True" Area="DataArea" />
   <dxpg:PivotGridField FieldName="Ad_Soyad" Area="RowArea" />
   <dxpg:PivotGridField FieldName="Rumuz" Area="RowArea"  />
   </dxpg:PivotGridControl.Fields>
   </dxpg:PivotGridControl>
 </DockPanel>

DockPanel’in içerisine PivotExcelFieldListControl’ü ekledik ve alanları nereden alacağını bilmesi için pivotGridControl1’e bağladık. Ayrıca Id, Ad_Soyad, Rumuz alanlarını da PivotGridControl’ümüze ekleyerek Area’larını belirledik. Bunun sonucunda ekran görüntüsü şöyle olacaktır:

-Ben gerçek kayıtlarla çalıştığım için kayıtların üzerini sildim.-

Evet, görüldüğü gibi sol tarafta Filter Area, Column Area, Row Area, Data Area’nın bulunduğu bir bölüm var. Bu bölüm, PivotGridControl’ün alanlarının yönetilmesini sağlıyor. Hemen üstteki menü de ExcelFieldList’in yerleşim ayarlarının yapılmasını sağlıyor. Altta da Defer Layout Update isimli bir CheckBox var. Bu CheckBox seçili olduğunda Update düğmesine tıklanmadan değişikliklerin yapılmasını engelliyor. Yani bir nevi runtime çalışmasını engelliyor. Bu ne işe yarar? On binlerce kaydı PivotGrid’e yüklediğimizi düşünerek bu sorunu geçiştirebiliriz. =]

Haydi kolay gelsin.

%d blogcu bunu beğendi: