Use ItemControl the bind data : ItemsControl « UI Controls « Silverlight






Use ItemControl the bind data

Use ItemControl the bind data
    

<UserControl x:Class='SilverlightApplication3.MainPage'
    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' 
    mc:Ignorable='d' 
    d:DesignWidth='640' 
    d:DesignHeight='480'>
    <Grid x:Name="LayoutRoot" Background="Beige">
        <ItemsControl x:Name="_cities">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <TextBlock FontSize="14" Height="30" Text="{Binding ItemName}" ></TextBlock>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

    </Grid>
</UserControl>


//File: Page.xaml.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Browser;

namespace SilverlightApplication3
{
    public class ItemData
    {
        public string ItemName { get; set; }
        public double X {get;set;}
        public double Y {get;set;}

        public ItemData(string strName, double nX, double nY)
        {
            ItemName = strName;
            X = nX;
            Y = nY;
        }
    }
    public partial class MainPage : UserControl
    {
        List<ItemData> myCities;
        String strCurrentCity;
        Double nCurrentX;
        Double nCurrentY;

        public MainPage()
        {
            InitializeComponent();
            this.Loaded += new RoutedEventHandler(Page_Loaded);

            upDateCities("uk");
        }

        void Page_Loaded(object sender, RoutedEventArgs e)
        {
            HtmlPage.RegisterScriptableObject("MySilverlightObject", this);
        }

 
        [ScriptableMember]
        public void upDateCities(string strCountry)
        {
            myCities = getCities(strCountry);
            _cities.ItemsSource = myCities;
        }


        private List<ItemData> getCities(string strCountry)
        {
            List<ItemData> ret = new List<ItemData>();
            
            switch (strCountry)
            {
                case "france":
                    {
                        ret.Add(new ItemData("A", 48, 2));
                        ret.Add(new ItemData("B", 43, 0));
                        ret.Add(new ItemData("C", 43, 1));
                        break;
                    }
                case "uk":
                    {
                        ret.Add(new ItemData("E", 51, 0));
                        ret.Add(new ItemData("F", 52, -1));
                        ret.Add(new ItemData("G", 55, -3));
                        break;
                    }
                case "germany":
                    {
                        ret.Add(new ItemData("Q", 52, 13));
                        ret.Add(new ItemData("W", 48, 11));
                        ret.Add(new ItemData("H", 53, 9));
                        break;
                    }
            }
            return ret;
        }


    }
}

   
    
    
    
  








Related examples in the same category