SilverLight-DataBinding:二、Bingding to a Collection Objects(綁定一個集合對象)

ylbtech-SilverLight-DataBinding: Bingding to a Collection Objects(綁定一個集合對象)
  • 1.A, Building  a Data Object(創建一個數據對象)
  • 1.B, Calling a Data Service(調用一個數據服務)【測試數據】
  • 1.C, Binding to a Collection of Objects(綁定一個對象集合)
  • 1.D, Binding to a Collection of Objects 2(綁定一個對象集合 2)
1.A, Building  a Data Object(創建一個數據對象)返回頂部

/Access/Prouct.cs
  View Code

/DataBinding/PriceConverter.cs

  View Code

4,

1.B, Calling a Data Service(調用一個數據服務)【測試數據】返回頂部
1,
2,
2.1/3,[無]
2.2/3,
  View Code

2.3/3,

複製代碼
using System.Windows.Controls;
using System.Windows;
using SLYlbtechApp.Access;
namespace SLYlbtechApp.ABindingToDataObjects
{
    public partial class TemplateB1 : UserControl
    {
        public TemplateB1()
        {
            InitializeComponent();
        }
        //根據產品編號查找產品
        private void btnSearchProduct_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            int id = 0;
            if (int.TryParse(this.txtProductId.Text.Trim(), out id))
            {
                Product dal = Product.GetModel(id);
                if (dal == null)
                {
                    MessageBox.Show("輸入的產品編號不存在");
                }
                else
                {
                    this.gridDetailProduct.DataContext = dal;
                }
            }
            else
            {
                MessageBox.Show("輸入的產品編號錯誤");
            }
        }
    }
}
複製代碼

3,

4,



1.C, Binding to a Collection of Objects(綁定一個對象集合)返回頂部

1,
2,
2.1/3,
xmlns:local="clr-namespace:SLYlbtechApp.DataBinding"

2.2/3,

  View Code

2.3/3,

複製代碼
using System.Windows.Controls;
using System.Windows;
using SLYlbtechApp.Access;
namespace SLYlbtechApp.ABindingToDataObjects
{
    public partial class TemplateB2 : UserControl
    {
        public TemplateB2()
        {
            InitializeComponent();
            this.lstProduct.ItemsSource = Product.GetAll();
        }

        private void btnSearchProduct_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            if (this.lstProduct.SelectedIndex == -1)
            {
                MessageBox.Show("請選擇列表框中的商品");
            }
            else
            {
                //方式一
                //Product dal = (Product)this.lstProduct.SelectedItem;
                //this.gridDetailProduct.DataContext = dal;

                //方式二
                this.gridDetailProduct.DataContext = this.lstProduct.SelectedItem;
            }
        }
    }
}
複製代碼

3,

3.A,ListBox 綁定

3.A.Code,

<ListBox Grid.Row="0" Grid.ColumnSpan="3" Margin="5" Name="lstProduct" DisplayMemberPath="ProductName"></ListBox> 

3.A.Desc,
DisplayMemberPath[綁定集合裏的屬性名稱]

3.B,產品價格格式轉換

3.B.1/3,

xmlns:local="clr-namespace:SLYlbtechApp.DataBinding"

3.B.2/3,

<UserControl.Resources>
    <local:PriceConverter x:Key="PriceConverter"></local:PriceConverter>
</UserControl.Resources>

3.B.3/3,

<TextBox Grid.Row="2" Grid.Column="1" Margin="5" Text="{Binding UnitPrice,Converter={StaticResource PriceConverter}}"></TextBox>

4,

1.D,Binding to a Collection of Objects 2(綁定一個對象集合 2)返回頂部
1,
2,
2.1/3,[無]
2.2/3,
  View Code

2.3/3,

複製代碼
using System.Windows.Controls;

using SLYlbtechApp.Access;
namespace SLYlbtechApp.ABindingToDataObjects
{
    public partial class TemplateBb2 : UserControl
    {
        public TemplateBb2()
        {
            InitializeComponent();
            this.lstProduct.ItemsSource = Product.GetAll();
        }
        /// <summary>
        /// 列表框選項改變事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void lstProduct_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //方式一
            //Product dal = (Product)this.lstProduct.SelectedItem;
            //this.gridDetailProduct.DataContext = dal;

            //方式二
            this.gridDetailProduct.DataContext = this.lstProduct.SelectedItem;
        }
    }
}
複製代碼

3,

3.A, 同上文 D.3.A

4,
1.E,返回頂部

本文轉自ylbtech博客園博客,原文鏈接:http://www.cnblogs.com/ylbtech/p/3427378.html ,如需轉載請自行聯繫原作者