J'utilise le code suivant:Comment définir un Template ListBoxItem qui a la même taille que son parent?
<ListBox
x:Name="lbItems"
Grid.Row="1"
Margin="2">
<ListBox.Template>
<ControlTemplate>
<Border
Background="{StaticResource DarkerBrush}"
Width="{Binding Path=ActualWidth, RelativeSource={RelativeSource AncestorType={x:Type ListBox}, Mode=FindAncestor}}"
BorderBrush="{StaticResource MediumBrush}"
BorderThickness="0"
CornerRadius="4">
<ItemsPresenter />
</Border>
</ControlTemplate>
</ListBox.Template>
</ListBox>
cela fonctionne, mais je vois une exception dans la fenêtre de sortie que je voudrais retirer.
System.Windows.Data Informations: 10: Impossible de récupérer la valeur en utilisant la et aucune valeur de liaison de secours valide existe; en utilisant par défaut à la place. BindingExpression: Path = ActualWidth; DataItem = null; l'élément cible est 'Border' (Name = ''); cible est la propriété « Largeur » (type « Double »)
Probablement que je fais quelque chose de pas tout à fait raison, si vous avez une idée comment puis-je améliorer mon code?
merci, dans ce cas, il a résolu le problème, mais il arrive assez souvent aussi sur les contrôles par défaut comme ComboBoxItem – Drake