bir grid için en çok ihtiyacımız olacak şeylerden biri template özelliği. cell ve header template dışında pek kullanmadım – ki bunlar her işinizi de görmeye yetiyor. xaml en güzel yani tüm elemanları iç içe yazıp değerlerini birbirine bind edebilmemizdir. ver oluşan eleman için kendisine özel eventlar yazabilmemizdir. bu özellikleri kullanarak template özelliğini kullanmaya çalışıcaz.
ilk önce style tanımlamayı da gösterbilmek için stylelerle yapacağım. header stilimizi için
<Window.Resources>
<Style x:Key=”headerStyle” TargetType=”{x:Type TextBlock}”>
<Setter Property=”FontFamily” Value=”Trebuchet MS” />
<Setter Property=”FontSize” Value=”25″ />
<Setter Property=”FontWeight” Value=”Bold” />
<Setter Property=”Foreground” Value=”#FFFFFF” />
<Setter Property=”Height” Value=”30″/>
</Style>
</Window.Resources>
template için genelde TextBlock kullanıyorum aradığım bir cok ozelliğe sahip. tek kötü yanı direk Font türünden bir değer alamaması, ama bu sadece cs tarafında tempalte oluştururken sıkıntı yaratır xaml tarafında herşe tozpembe (:
stilimizden de anlaşılacağı gibi 24 px büyüklüğünde yazı Kalın beyaz renkli ve Trubecthes MS tipinde . kendi yüksekliği de 30 px . genişliği vermediğimiz sürece yazının , uzunluk ve wordwrap değerlerine göre genişlik alabiliyor. yine yükseklik de boyle. işte bunun için Textblock tercih ediyorum.
gridimizi 1 tane gridColumn elemanı ile göstermek istiyorum.
<dxg:GridColumn FieldName=”HASTA_ADI” Width=”300″>
<dxg:GridColumn.HeaderTemplate>
<DataTemplate>
<TextBlock Style=”{StaticResource headerStyle}” Text=”Hasta Ad” FontSize=”15″ FontWeight=”Bold” />
</DataTemplate>
</dxg:GridColumn.HeaderTemplate>
<dxg:GridColumn.CellTemplate>
<DataTemplate>
<TextBlock Text=”{Binding Path=Value}” Padding=”5″ FontSize=”25″ FontWeight=”700″ VerticalAlignment=”Center” FontFamily=”Tahoma” Foreground=”Black” />
</DataTemplate>
</dxg:GridColumn.CellTemplate>
</dxg:GridColumn>
her template propertysi Data template alır biz de datatempalte oluştuup iine textblock attık ve style olarak resourcelarımız arasından headerStyle seçtik. bununla beraber aynı sütuna bir de CellTemplate attık celltemplate de gridin içeriği için geçerli olan görüntü kalıbıdır. bunu style dan değil de tek sutun için elle propertyleri kullanarak yazdırdım. bizde sütun değeri her zaman Value değeriyle gelir. biliyorsunuz C#ta setter fonksiyonlarda Value bir sabittir. Text=”{Binding Path=Value}” Text propertysi için Value alanını bind ettik. ee her hücereye ayrı tempalte istiyorsak ya da duruma göre template istiyorsak napıcaz ? işte orda da imdadımıza eventlar koşuyor (: initialize eventi ile sender i TextBlock türüyle cast edip istediğimiz fonksiyonlarıyla oynayabilirz. iyi çalışmalar








s.a hocam iletişim adresiniz yok o yüzden burdan yazmak zorunda kaldım. r10 daki yazınız üzere bir sorum olacaktı şurdaki= http://www.r10.net/1060385047-post2.html
burda html sayfası için ben soruyu soran arkadaşın verdiğine ekleme yaparak yaptım ama olmadı aynen inputa şunları ekledim.yine olmadı.
style=”color:#999999″ onmouseover=”this.style.color=’#000000′”
onmousemove=”this.style.color=’#999999′”
onmousedown=”this.style.color=’#999999′”
onmouseout=”this.style.color=’#999999″ onmouseup=”this.style.color=’#000000″
amacım hotmail.com daki gibi yapmak. ilk başta herzaman şeffaf olacak tıklayıp çeksek bile ama yazmaya başlayınca siyah yazacak.mauseyi çekince yazdıgımız yazı yine siyah kalacak. bunu nasıl yapabilirim hocam.veya sizin bildiğiniz başka yöntemde olabilir. yardım ederseniz çok sevinirim?
bide hocam msn adresinizi verirmisiniz. sizin gibi birinin msnemde olması bana gurur verir.