我正在尝试使用Silverlight 4 beta DataForm控件。我似乎无法在控件的顶部获得编辑和分页选项,就像我在Silverlight 3中看到的那样。有什么改变或我做错了什么?这是我的代码:
<UserControl x:Class="SilverlightApplication7.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:DesignHeight="300" d:DesignWidth="400" xmlns:dataFormToolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.DataForm.Toolkit">
<Grid x:Name="LayoutRoot" Background="White">
<dataFormToolkit:DataForm HorizontalAlignment="Left" Margin="10" Name="myDataForm" VerticalAlignment="Top" />
</Grid>
</UserControl>
public partial class MainPage : UserControl
{
public MainPage()
{
InitializeComponent();
this.Loaded += new RoutedEventHandler(MainPage_Loaded);
}
void MainPage_Loaded(object sender, RoutedEventArgs e)
{
Movie movie = new Movie();
myDataForm.CurrentItem = movie;
}
public enum Genres
{
Comedy,
Fantasy,
Drama,
Thriller
}
public class Movie
{
public int MovieID { get; set; }
public string Name { get; set; }
public int Year { get; set; }
public DateTime AddedOn { get; set; }
public string Producer { get; set; }
public Genres Genre { get; set; }
}
}
答案 0 :(得分:1)
上面代码的行为在VS2008 + SL3中是相同的。
DataForm
仅提供导航栏,如果您为其提供了一组分配给ItemsSource
属性的项目。通过直接指定CurrentItem
属性,您实际上会询问DataForm
“请编辑此项目”,这正是它所做的。
答案 1 :(得分:0)
AnthonyWJones在分页问题上是正确的。您需要绑定到集合以获取Next / Previous选项。我相信您需要实现IEditableObject才能显示View / Edit选项。