Jump to content

Wpf Uygulamalarında özel Dosyaları Resource


wmismail

Recommended Posts

WPF uygulamalarında özel dosyaları Resource olarak saklamak ve kullanmak

Uygulamalarda kullandığımız ikonlar veya görselleri çoğu zaman uygulama klasöründe saklamayı sevmeyiz. Hem bu görselleri kısmen korumak için hem de kalabalık yaratmamaları için EXE'nin içerisinde gömmeyi tercih ederiz. WPF ile beraber bu iş biraz daha kolaylaşıyor. Gelin bir WPF uygulamasında herhangi bir görseli nasıl dahili hale getirebileceğimizi inceleyelim.

Visual Studio ile yarattığımız yeni WPF projemize Solution Explorer içerisinde sağ tuş ile tıklayarak gelen menüden "Add Existing Item" diyip yeni bir JPEG dosyası ekliyoruz. Amacımız bu dosyayı EXE'nin içinde saklayarak uygulamanın ana penceresinde de göstermek.

Dosyayı projenize ekledikten sonra onu seçerek hemen "Propterties" paneline göz atmanız gerekiyor. Böylece bu resim dosyası ile ilgili projedeki ayarları değiştirebileceğiz. Dosya ile ilgili "Build Action" ayarının kesinlikle "Resource" olması gerekiyor. Tüm bu ayarları tamamladıktan sonra XAML tarafında bir Image nesnesi ekleyelim.

[XAML]

<Window x:Class="Window1"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Window1" Height="300" Width="300">

<Grid>

<Image x:Name="Foto" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"></Image>

</Grid>

</Window>[/CODE]

Basit bir şekilde eklediğimiz ve adı Foto olan bu Image nesnesine çalışma zamanında biraz önce EXE'mize eklediğimiz fotoğrafı aktarmamız gerekiyor. Bunun için Window.Loaded event'ını kullanacağız.

[color=#4169E1][b][VB][/b][/color]

[CODE]Foto.Source = New BitmapImage(New Uri("pack://application:,,,/resim.jpg"))[/CODE]

Gördüğünüz üzere işlem epey basit. Aslında anahtar kısım Uri tarafında. Eğer uygulama içerisindeki Resource'lara ulaşmak istiyorsanız pack Uri'leri kullanmanız gerekiyor. pack Uri'lerinin syntax yapısına girmeyeceğim, epey uzun ve detaylı bir konu. Bizim için şimdilik önemli olan bu Uri'nin sonundaki dosya ismini değiştirerek istediğimiz kaynağa erişebiliyor olmamız. Eğer uygulama içi klasörler yaratarak dosyaları ayrı klasörlere koyduysanız doğrudan resim.jpg'in önünde path bilgisi de yazabilirsiniz.

Bu sistemi ister resim, ister ses, ister fare imleci saklamak için kullanabilirsiniz. Artık bu gibi ufak kaynaklar otomatik olarak EXE'nizin içerisinde taşınıyor olacak.

Hepinize kolay gelsin.

D.Y.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...