2010-01-13 4 views
1

Silverlight 4 베타 DataForm 컨트롤을 사용해 보겠습니다. Silverlight 3 예제에서 보았 듯이 컨트롤 상단에서 편집 및 페이징 옵션을 사용할 수없는 것 같습니다. 뭔가 바뀌었나? 내 코드는 다음과 같습니다.Silverlight 4 DataForm에 누락 된 편집 옵션

<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; } 
     } 
    } 

답변

1

위 코드의 동작은 VS2008 + SL3에서 동일합니다.

ItemsSource 속성에 할당 된 항목 집합을 제공하면 탐색 모음 만 제공합니다. CurrentItem 속성에 직접 할당하면 DataForm에 "이 항목을 편집하십시오."라는 질문을하는 것이 효과적입니다.

0

AnthonyWJones가 페이징 질문에서 맞습니다. 다음/이전 옵션을 가져 오려면 컬렉션에 바인딩해야합니다. 보기/편집 옵션을 표시하려면 IEditableObject를 구현해야한다고 생각합니다.