Vous pouvez acheminer cette valeur via votre source reliée, lier l'élément sélectionné de la zone de liste déroulante à vos données liées, puis lier l'objet sélectionné à la colonne 2 à l'aide du convertisseur. Partager l'élément sélectionné entre deux colonnes et pour la deuxième colonne utiliser le convertisseur dans la liaison, afin qu'il soit déclenché.
Correction d'erreur de copier coller dans la colonne 2 de liaison,
Quelque chose comme ça,
Presenter/ViewModel
class DataSource : INotifyPropertyChanged {
// raise PropertyChanged when required
public ObservableCollection<string> Columns1Values {get;set;}
// raise PropertyChanged when required
public string SelectedColumn1Value {get; set;}
}
Voir
<dg:DataGrid
Name="sampleDG"
ItemsSource={Binding DataSourceObject}>
<dg:DataGridWidget.Columns>
<dg:DataGridTemplateColumn
Header="Column 1">
<datagrid:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Label Content="{Binding Path=SelectedColumn1Value, Mode=TwoWay}"/>
</DataTemplate>
</datagrid:DataGridTemplateColumn.CellTemplate>
<datagrid:DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox
ItemsSource="{Binding Path=Column1, Mode=TwoWay}"
SelectedItem="{Binding Path=SelectedColumn1Value, Mode=TwoWay}"
/>
</DataTemplate>
</datagrid:DataGridTemplateColumn.CellEditingTemplate>
</dg:DataGridTemplateColumn>
<dg:DataGridTextColumn
Header="Column 2"
Binding="{Binding Path=SelectedColumn1Value, Converter={StaticResource selectedConverter}, Mode=TwoWay}}">
</dg:DataGridTextColumn>
</dg:DataGridWidget.Columns>
</dg:DataGrid>
Mais comment le convertisseur se déclenchera à chaque fois que lorsque vous modifiez le combobox ? Quel est ce chemin de liaison "Column" dans DataGridTextColumn? – ksvimal
Désolé mon erreur (erreur de copier coller), la colonne 2 doit être liée à SelectedColumn1Value car c'est le membre que vous devez partager entre les colonnes et donc quand la liaison Column1 le met à jour, sa modification va déclencher votre convertisseur . Pour la colonne 2, le mode de liaison peut être OneWay si vous n'avez pas l'intention de modifier la sélection de la colonne 2 à la colonne 1. – whoisthis
Était-ce utile? – whoisthis