1

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

2 回答 2

1

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

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

于 2010-01-26T10:34:45.550 回答
0

AnthonyWJones 在寻呼问题上是正确的。您需要绑定到集合以获取 Next/Previous 选项。我相信您需要实现 IEditableObject 才能显示“查看/编辑”选项。

于 2010-03-21T19:47:10.000 回答