Bonjour , j'ai implémenté une listBox pour que le contenu qui est un user controle peut être créer un certain nombre de fois. mais mon probleme est que je n'arrive pas a binder sur la textbox de mon userControle à partir de ma listbox.
userControle avec ListBox
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 <ListBox Grid.Row="1" Grid.ColumnSpan="2" Name="listNameProperties" DataContext="{Binding Path=DetailViewModel}" ItemsSource="{Binding Path= AllPropertiesName, Mode=oneWay, UpdateSourceTrigger=PropertyChanged}" SelectedItem="{Binding Path=PropertiesName}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Stretch" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Disabled" SelectionChanged="listNameProperties_SelectionChanged" > <ListBox.Style> <Style TargetType="{x:Type ListBox}"> <Style.Triggers> <DataTrigger Binding="{Binding ElementName=tbName, Path=IsFocused}" Value="True"> <Setter Property="Background" Value="Red"/> </DataTrigger> </Style.Triggers> </Style> </ListBox.Style> <ListBox.ItemTemplate> <DataTemplate > <view:ViewNameProperties Margin="10"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox>
UserControl enfants ViewNameProperties
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <TextBlock Text="Name : " Grid.Row="0" Grid.Column="0" VerticalAlignment="Center" Margin="15"></TextBlock> <TextBox Grid.Column="1" Grid.Row="0" Height="30" Margin="10" x:Name="tbName"> <TextBox.Text> <Binding Path="Name" UpdateSourceTrigger="PropertyChanged" Mode="TwoWay"/> </TextBox.Text> </TextBox>
Voici l'erreur de Binding : System.Windows.Data Error: 4 : Cannot find source for binding with reference 'ElementName=tbName'. BindingExpression: Path=IsFocused; DataItem=null; target element is 'ListBox' (Name='listNameProperties'); target property is 'NoTarget' (type 'Object')
Merci d'avance
Partager