Bonjour à tous,
Je viens juste de m'inscrire car j'ai trouvé sur ce site beaucoup de réponses à mes questions.
Je suis actuellement en train de réaliser une colonne personnalisée pour un DataGrid. Pour cela j'hérite d'un DataGridTemplateColumn. J'ai créé ma classe qui est séparée entre un code XAML et un code C#.
Voici le contenu de mon XAML :
Code xml : 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 <WpfToolkit:DataGridTemplateColumn x:Class="UserGrid.DataGridBrowseColumn" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:WpfToolkit="http://schemas.microsoft.com/wpf/2008/toolkit" Width="100" > <WpfToolkit:DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=Test}"/> </DataTemplate> </WpfToolkit:DataGridTemplateColumn.CellTemplate> <WpfToolkit:DataGridTemplateColumn.CellEditingTemplate> <DataTemplate> <Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="20"/> </Grid.ColumnDefinitions> <TextBox Grid.Column="0" VerticalAlignment="Center" Name="Edition" Text="{Binding Path=Test}"/> <Button Grid.Column="1" Click="Button_Click"> <Button.ContentTemplate> <DataTemplate> <Image Source="/UserGrid;component/Images/arrow_down.ico" /> </DataTemplate> </Button.ContentTemplate> </Button> </Grid> </DataTemplate> </WpfToolkit:DataGridTemplateColumn.CellEditingTemplate> </WpfToolkit:DataGridTemplateColumn>
Voilà mon problème : j'ai besoin d'accéder à mes textblock et mon button afin d'en changer dynamiquement le binding via le code C#.
Malgré les propriétés Name que j'ai ajouté, je ne parviens pas à y accéder.
Quelle est la meilleure méthode pour réaliser cela ?
J'ai déjà essayé de tout faire en code-behind, mais je n'avais aucune visibilité sur ce que je faisais.
Merci d'avance.
Partager