Minggu, 27 Januari 2013

Windows Phone || Contoh Simple Binding List


Contoh Simple Binding List Windows Phone

MainPage.xaml
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
            <Button Command="{Binding Tambah}" Content="Button" HorizontalAlignment="Left" Margin="336,-126,0,0" VerticalAlignment="Top"/>
            <ListBox ItemsSource="{Binding L_classnama}">
                <ListBox.ItemTemplate>
                    <DataTemplate>
                        <StackPanel Orientation="Horizontal" Width="400" Background="Goldenrod" Margin="0,0,0,5">
                            <!-- Binding Source Gambar -->
                            <Image Margin="20,0,0,0" Height="60" Width="60" Source="{Binding Gambar}"></Image>
                            <!-- Binding TextBlock -->
                            <TextBlock Text="{Binding Nama}" TextWrapping="Wrap" FontSize="30" Style="{StaticResource PhoneTextExtraLargeStyle}" FontFamily="Comic Sans MS"/>
                        </StackPanel>
                    </DataTemplate>
                </ListBox.ItemTemplate>
            </ListBox>
        </Grid>

MainPage.xaml.cs

public partial class MainPage : PhoneApplicationPage
    {
        // Constructor
        public MainPage()
        {
            InitializeComponent();
            DataContext = new MAinPageViewModle();
        }
    }


MAinPageViewModle

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.ObjectModel;
namespace Bi
{
    class MAinPageViewModle : Microsoft.Practices.Prism.ViewModel.NotificationObject
    {
        public List<ClassNama> L_classnama{get;set;}
        private Microsoft.Practices.Prism.Commands.DelegateCommand _tambah;
        void TambahAction() {
            L_classnama = new List<ClassNama>();
            L_classnama.Add(new ClassNama() { Nama = "xxxx", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "xx", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "xxx", Gambar = "unduhan.jpg" });
            Console.WriteLine("asssssssssssssssssssssssssssss");
            RaisePropertyChanged("");
        }
        public Microsoft.Practices.Prism.Commands.DelegateCommand Tambah
        {
            get { return _tambah; }
        }
        public MAinPageViewModle(){
            _tambah = new Microsoft.Practices.Prism.Commands.DelegateCommand(TambahAction);
            L_classnama = new List<ClassNama>();
            L_classnama.Add(new ClassNama() { Nama = "asdasdas" ,Gambar="unduhan.jpg"});
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
            L_classnama.Add(new ClassNama() { Nama = "asdasdas", Gambar = "unduhan.jpg" });
        }
    }  
}
 
ClassNama

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Bi
{
    class ClassNama  : Microsoft.Practices.Prism.ViewModel.NotificationObject
    {
        private string _nama;
        private string _gambar;
        public string Nama { get { return _nama; } set { _nama = value; RaisePropertyChanged(""); } }
        public string Gambar { get { return _gambar; } set { _gambar = value; RaisePropertyChanged(""); } }
    }
}





Categories:

1 komentar :

  1. public void AddData()
    {
    ListofBookmarkedSurah.Clear();
    SearchResult.Clear();
    int no = 1;
    if (_quranConfigurationService.SelectedBookMark.Count != 0)
    {
    var xx = _quranConfigurationService.ListOfSurah;
    var xx2 = _quranConfigurationService.SelectedBookMark;
    var Temp = from p1 in _quranConfigurationService.SelectedBookMark
    join p2 in _quranConfigurationService.ListOfSurah
    on p1.ItemNumberOfSurah equals p2.noSurah
    orderby p1.DateTimeOfBookMark descending
    select p2;

    foreach(var data in Temp)
    {
    if (data.noSurah <= 1) //preloaded surah = 1
    {
    data.surahColor = "#FF2D3F4C";
    }
    else
    {
    if (selectedLanguage == "en")
    {
    if (data.imageExist && data.translationExist_en && data.transliterationExist_en)
    {
    data.surahColor = "#FF2D3F4C";
    }
    else
    {
    data.surahColor = "Gray";
    }
    }
    else if (selectedLanguage == "id")
    {
    if (data.imageExist && data.translationExist_id && data.transliterationExist_id)
    {
    data.surahColor = "#FF2D3F4C";
    }
    else
    {
    data.surahColor = "Gray";
    }

    }
    }
    SearchResult.Add(data);
    }

    applicationBarVisibility = true;
    //foreach (var data in _quranConfigurationService.SelectedBookMark.OrderByDescending(x => x.DateTimeOfBookMark))
    //{
    // data.No = no++;
    // ListofBookmarkedSurah.Add(data);
    //}
    foreach (var data in _quranConfigurationService.SelectedBookMark.OrderByDescending(x => x.DateTimeOfBookMark))
    {
    foreach (var dataTemp in SearchResult)
    {
    if(dataTemp.noSurah == dataTemp.noSurah)
    {
    data.BackgroundSelected = dataTemp.surahColor;
    break;
    }

    }
    ListofBookmarkedSurah.Add(data);
    }
    }
    else
    {
    applicationBarVisibility = false;
    noBookmarkData = Islamic_Services.Quran.Resources.AppResource.ISLAMIC_SERVICES_QURAN_NOBOOKMARK;
    }
    RaisePropertyChanged("");
    }

    BalasHapus