【IT168 技术】Silverlight工具箱发布了。其中有一项超酷的更新,就是对核心控件的拖拽功能。也许你会认为又一个没有多大实际价值的功能诞生了,那你就错了。这是一项使工作变的轻松简单的工具,可以不需要编写任何代码,把项目从一个列表移动到另一个。
下面用Expression Blend简单演示一下。创建XAML代码如下:
<StackPanel Orientation="Horizontal" Margin="10">
<ListBox Width="200" Height="500" x:Name="FromBox" DisplayMemberPath="FullName"/>
<ListBox Width="200" Height="500" x:Name="ToBox" DisplayMemberPath="FullName"/>
</StackPanel>
<ListBox Width="200" Height="500" x:Name="FromBox" DisplayMemberPath="FullName"/>
<ListBox Width="200" Height="500" x:Name="ToBox" DisplayMemberPath="FullName"/>
</StackPanel>
在后台创建一个简单的类。这个类方法被用来返回ObservableCollection
代码如下:
using System.Collections.ObjectModel;
namespace SilverlightApplication105
{
public class People
{
public static ObservableCollection<Person> GetListOfPeople()
{
ObservableCollection<Person> ppl = new ObservableCollection<Person>();
for (int i = 0; i < 15; i++)
{
Person p = new Person() { Firstname = "First " + i.ToString(), Lastname = "Last " + i.ToString() };
ppl.Add(p);
}
return ppl;
}
}
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string FullName
{
get
{
return string.Concat(Firstname, " ", Lastname);
}
}
}
}
namespace SilverlightApplication105
{
public class People
{
public static ObservableCollection<Person> GetListOfPeople()
{
ObservableCollection<Person> ppl = new ObservableCollection<Person>();
for (int i = 0; i < 15; i++)
{
Person p = new Person() { Firstname = "First " + i.ToString(), Lastname = "Last " + i.ToString() };
ppl.Add(p);
}
return ppl;
}
}
public class Person
{
public string Firstname { get; set; }
public string Lastname { get; set; }
public string FullName
{
get
{
return string.Concat(Firstname, " ", Lastname);
}
}
}
}
MainPage.xaml.cs代码:
using System.Windows;
using System.Windows.Controls;
namespace SilverlightApplication105
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
FromBox.ItemsSource = People.GetListOfPeople();
}
}
}
using System.Windows.Controls;
namespace SilverlightApplication105
{
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
FromBox.ItemsSource = People.GetListOfPeople();
}
}
}