none
Listeye Kaynaklandırılmış Bir Public Class Nesnesini Bir Diziye Aktarma (DataGrid Sorunu) RRS feed

  • Soru

  • Merhabalar,

    WPF C# üzerinde kendim oluşturduğum bir sınıf yapısı ve içerisinde yer alan iki nesne bulunuyor. Bu sınıf yapısı bir Listeye entegre ederek veri işledim; şimdi ise Liste içerisindeki nesne türlerini ayrı ayrı dizilere kaydetmek istiyorum. Çünkü liste içerisinde iki tür nesne olduğunda nasıl kullanacağımı tam olarak bilmiyorum.

    Örnek Kod:

    XAML:

    <Window x:Class="WpfApp1.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:WpfApp1"
            mc:Ignorable="d"
            Title="MainWindow" Height="450" Width="800">
        <Grid>
            <DataGrid Name="gosterilendatagrid" HorizontalAlignment="Left" Height="312" Margin="54,41,0,0" VerticalAlignment="Top" Width="449"/>
        </Grid>
    </Window>


    C#:


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Data;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Imaging;
    using System.Windows.Navigation;
    using System.Windows.Shapes;

    using System.Collections.ObjectModel;

    public partial class <g class="gr_ gr_205 gr-alert gr_gramm gr_inline_cards gr_run_anim Style multiReplace gr-progress" data-gr-id="205" id="205">MainWindow :</g> Window
        {
            public class Dosyalar
            {
                public int TaahhukNo { get; set; }
                public string DosyaAd { get; set; }
            }

            public ObservableCollection<Dosyalar> adlimusteri = new ObservableCollection<Dosyalar>();

            public MainWindow()
            {
                InitializeComponent();
                adlimusteri.Add(new Dosyalar() { TaahhukNo = 1704, DosyaAd = "Adana-Ceyhan" });
                adlimusteri.Add(new Dosyalar() { TaahhukNo = 2011, DosyaAd = "Yalova-Merkez" });
                adlimusteri.Add(new Dosyalar() { TaahhukNo = 1876, DosyaAd = "Ankara-Ulus" });
                gosterilendatagrid.ItemsSource = adlimusteri;
            }
        }

    Burada sormak istediğim şu: Ben ObservableCollection<> ya da List<> ögesinde yer alan nesnelere ayrı ayrı ulaşmayı ve bu nesneleri farklı dizilere kaydederek işlemeyi bilmiyorum.

    Yapmak istediğim;

    string[] DizilesmisDosya dizisine, ObservableCollection<> ya da List<> ögesini kullanarak sadece "Adana-Ceyhan", "Yalova-Merkez","Ankara-Ulus" elemanlarını eklemek. Böylelikle dilediğim elemanı DizilesmisDosya[index] yaparak kullanmak istiyorum.

    int[] DizilesmisNumara dizisine, ObservableCollection<> ya da List<> ögesini kullanarak sadece 1704, 2011, 1876 sayılarını eklemek. Böylelikle dilediğim sayıyı DizilesmisNumara[index] yaparak kullanmak istiyorum.

    Bunu nasıl yapabilirim?

    Teşekkürler.

    Not: Bu yola ihtiyaç duymamın sebebi WPF içerisindeki DataGrid nesnesini doğrudan işlemler için kullanamıyorum; Row ve Column iterasyonlarına kapalı bir durumda ve bütün işlem olanakları koleksiyon yoluyla listeleme üzerine gerçekleşmesidir.
    Böylelikle DataGrid satırlar ve sütunlar içerisindeki verileri listelere aktarak işlemler yapmak istiyorum.

    20 Mayıs 2018 Pazar 23:09

Yanıtlar