none
Open File Dialog Seçilmediği Durumda RRS feed

  • Soru

  • Merhabalar, WPF üzerinde bir uygulama geliştiriyorum. Uygulamada belirli parça özellikleri girildikten sonra, open file dialog ile parçanın resmi seçilip veritabanına kaydettirmek aynı zamanda da kayıt edilen ürünü tree view da listeletmek istiyorum. Kayıt ederken ve (eğer) resim seçilmişse listeletmekte hiç bir problem yok. İki tane buton var, birisi verileri veritabanına kaydederken diğeri open file dialog'u açarak resim seçtirme imkanı sağlıyor.

    Open file dialog'u açan buttonumun kodu şöyle;

    string resim;

    if (GetItemsControl.openFileDialog.ShowDialog() == true)
                {
                    foreach (string s in GetItemsControl.openFileDialog.FileNames)
                    {
                        resim = s;
                    }
                }
                else
                {
                    MessageBox.Show("Fotoğraf seçilmedi.");
                }

    Kaydet butonumun kodu ise;

    TreeViewItem tvi_photo = new TreeViewItem
                {
                    Header = "Ürün Fotoğrafları"
                };
                treeViewItem.Items.Add(tvi_photo);
                foreach (string s in openFileDialog.FileNames)
                {
                    Image imgInsertedPhoto = new Image
                    {
                        Height = 150,
                        Width = 200,
                        VerticalAlignment = VerticalAlignment.Center,
                        HorizontalAlignment = HorizontalAlignment.Center,
                        Source = new BitmapImage(new Uri(s))
                    };
                    tvi_photo.Items.Add(imgInsertedPhoto);

    Dediğim gibi eğer fotoğraf seçilmişse her şey uygun bir şekilde çalışıyor. Ancak fotoğraf seç butonuna hiç basılmamışsa 'Nesne başvurusu bir nesnenin örneğine ayarlanmadı.' hatası alıyorum. Yapmak istediğim şu;

    Open file dialog açılmamışsa MessageBox ile bir mesaj verdirmek. Open file dialog'un hiç açılmadığını nasıl tespit edebilirim acaba? Şimdiden teşekkür ederim. İyi kodlamalar :)


    21 Temmuz 2019 Pazar 00:36

Yanıtlar

  • Başa true kısmından önce

    if (GetItemsControl.openFileDialog.ShowDialog() == false)

       return;

    deyip true kısmını kaldır öyle devam et. 

    kolay gelsin.

    • Yanıt Olarak İşaretleyen Utku Uludağ 22 Temmuz 2019 Pazartesi 15:52
    21 Temmuz 2019 Pazar 21:40

Tüm Yanıtlar

  • Başa true kısmından önce

    if (GetItemsControl.openFileDialog.ShowDialog() == false)

       return;

    deyip true kısmını kaldır öyle devam et. 

    kolay gelsin.

    • Yanıt Olarak İşaretleyen Utku Uludağ 22 Temmuz 2019 Pazartesi 15:52
    21 Temmuz 2019 Pazar 21:40
  • Başa true kısmından önce

    if (GetItemsControl.openFileDialog.ShowDialog() == false)

       return;

    deyip true kısmını kaldır öyle devam et. 

    kolay gelsin.

    Teşekkür ediyorum. En kısa zamanda deneyip yanıt olarak işaretleyeceğim. İyi kodlamalar :)
    22 Temmuz 2019 Pazartesi 03:03