1

Silverlight4ベータ版の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は、ページングの質問について正しいです。次/前のオプションを取得するには、コレクションにバインドする必要があります。[表示/編集]オプションを表示するには、IEditableObjectを実装する必要があると思います。

于 2010-03-21T19:47:10.000 に答える