Silverlight 4 DataForm上缺少编辑选项

时间:2010-01-13 15:40:41

标签: silverlight silverlight-4.0 silverlight-toolkit

我正在尝试使用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; }
        }  
    }

2 个答案:

答案 0 :(得分:1)

上面代码的行为在VS2008 + SL3中是相同的。

DataForm仅提供导航栏,如果您为其提供了一组分配给ItemsSource属性的项目。通过直接指定CurrentItem属性,您实际上会询问DataForm“请编辑此项目”,这正是它所做的。

答案 1 :(得分:0)

AnthonyWJones在分页问题上是正确的。您需要绑定到集合以获取Next / Previous选项。我相信您需要实现IEditableObject才能显示View / Edit选项。