Salut !
Je suis en train d'essayer de faire un Dataform avec une dropdown list et j'ai des comportements bizarre ... Je ne pensais pas que ca serait si complexe

J'ai des objets Todo lié a un object Category par une propriété Category.
J'ai une datagrid a gauche et une dataform a droite.
Je sélectionne la 3eme ligne, je change l'objet category et la cela change aussi la category de la premiere ligne ! Comme si la dropdown était lié aux 2 objets ... Bizarre ...

Vous voyez où est le problème ?





Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
public class TodoListViewModel : ContextViewModelBase
{
    public TodoListViewModel()
    {
        AddCommand = new RelayCommand(Add);
 
        Categories = new ObservableCollection<Category>();
        Todos = new ObservableCollection<Todo>();
 
        LoadCategories();
        LoadTodos();
    }
 
    public ICommand AddCommand { get; protected set; }
 
    public ICollection<Category> Categories { get; set; }
    public ICollection<Todo> Todos { get; set; }
 
    public virtual void Add()
    {
        var todo = new Todo();
        Context.Todos.Add(todo);
        Todos.Add(todo);
    }
 
    public void LoadCategories()
    {
        Context.Load(Context.GetCategoryQuery(), 
            l => Categories.Reload(l.Entities), 
            true);
    }
 
    private void LoadTodos()
    {
        Context.Load(Context.GetTodoQuery(),
                l => Todos.Reload(l.Entities),
                true);
    }
}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<navigation:Page x:Class="RiaServicesSample.Views.Todos.TodoList" 
           Title="TodoList Page" x:Name="Root">
    <navigation:Page.Resources>
        <CollectionViewSource x:Key="CategorySource" Source="{Binding Categories}" />
        <CollectionViewSource x:Key="TodoSource" Source="{Binding Todos}" />
    </navigation:Page.Resources>
 
    <tk:DockPanel x:Name="LayoutRoot">
 
        <Grid tk:DockPanel.Dock="Top">
            <Grid.ColumnDefinitions>
                <ColumnDefinition/>
                <ColumnDefinition/>
                <ColumnDefinition/>
            </Grid.ColumnDefinitions>
 
            <Button Grid.Column="0" Content="Add" Command="{Binding AddCommand}" />
            <Button Grid.Column="1" Content="Save" Command="{Binding SubmitCommand}" />
            <Button Grid.Column="2" Content="Cancel" Command="{Binding CancelCommand}" />
        </Grid>
        <df:DataForm tk:DockPanel.Dock="Right" AutoGenerateFields="True"
                     CurrentItem="{Binding SelectedItem, ElementName=Grid, Mode=TwoWay}" CommandButtonsVisibility="All">
            <df:DataForm.EditTemplate>
                <DataTemplate>
                    <StackPanel>
                        <df:DataField>
                            <TextBox Text="{Binding Title, Mode=TwoWay}" />
                        </df:DataField>
                        <df:DataField>
                            <TextBox Text="{Binding Description, Mode=TwoWay}" MinHeight="200" MaxHeight="500" />
                        </df:DataField>
                        <df:DataField>
                            <ComboBox ItemsSource="{Binding Source={StaticResource CategorySource}}" DisplayMemberPath="Name"
                                      SelectedItem="{Binding Category, Mode=TwoWay}"/>
                        </df:DataField>
                    </StackPanel>
                </DataTemplate>
            </df:DataForm.EditTemplate>
        </df:DataForm>
        <data:DataGrid x:Name="Grid" ItemsSource="{Binding Source={StaticResource TodoSource}}" />
    </tk:DockPanel>
</navigation:Page>
Merci.