2013-09-16 65 views
1

我有问题在Windows Phone中进行绑定。希望您能够帮助我。数据模板和列表框之间的绑定 - Windows Phone

我有以下数据模板:

<DataTemplate>

<TextBox Name="txt1"/>
<TextBox Name="txt2"/>
</DataTemplate>



我有一个接收ItemsSource属性如下类别列表框:

public class Product 
{ 

    private int _id; 

    public int Id 
    { 
     get { return _id; } 
     set { _id = value; } 
    } 

    private string _name; 

    public string Name 
    { 
     get { return _name; } 
     set { _name = value; } 
    } 

} 

反正是有Text属性与ListBoxItem中的类似的对象绑定...

<TextBox Name="txt1" Text={Binding ElementName=ListBox, Path=SelectedItem.Product.Name}/>

回答

1

我得到了一个工作示例 XAML: 下面的代码

<Grid x:Name="gdTest" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="5,0,5,0" > 
    <ListBox Width="400" Margin="10" x:Name="lstDemo"> 
     <ListBox.ItemTemplate> 
      <DataTemplate> 
       <StackPanel Orientation="Horizontal"> 
        <TextBlock Text="{Binding Path=Id}" Margin="20" /> 
        <TextBlock Text="{Binding Path=Name}" Margin="20"/> 
       </StackPanel> 
      </DataTemplate> 
     </ListBox.ItemTemplate> 
    </ListBox> 

</Grid> 

xaml.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Navigation; 
using Microsoft.Phone.Controls; 
using Microsoft.Phone.Shell; 
using StackOverFlowTestApp.Resources; 
using Microsoft.Phone.Tasks; 
using Microsoft.Phone.UserData; 
using Windows.UI; 
using System.Windows.Media; 
using System.IO; 
using Microsoft.Xna.Framework.Audio; 
using Microsoft.Xna.Framework; 

namespace StackOverFlowTestApp 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
     private SoundEffect effect; 
     // Constructor 
     public MainPage() 
     { 
      InitializeComponent(); 
      List<Product> liProd = new List<Product>(); 
      for (int i = 0; i < 10; i++) { 
       liProd.Add(new Product() 
       { 
        Id = i, 
        Name = "Anobik" + i.ToString() 
       }); 
      } 

      lstDemo.ItemsSource = liProd; 

     } 


    } 

    public class Product 
    { 

     private int _id; 

     public int Id 
     { 
      get { return _id; } 
      set { _id = value; } 
     } 

     private string _name; 

     public string Name 
     { 
      get { return _name; } 
      set { _name = value; } 
     } 

    } 


    } 

如果您需要任何更多的解释,然后让我知道。

+0

这有助于我理解一些东西。万分感谢!我还有一个问题,希望你能帮助我。这是一个相似的背景。提前致谢。 http://stackoverflow.com/questions/18838053/binding-between-resources-datatemplate-and-listbox-datatemplate-windows-phone –