J'ai un ComboBox, et je veux changer son apparence quand la propriété ItemsSource est nulle. Quand il est dans cet état, je veux montrer un TextPanel avec le texte "Récupérer des données" dedans, et lui donner un aspect semblable à la zone de texte tatouée. Je suppose que pour ce faire, j'ai besoin d'un ControlTemplate, et un déclencheur. Je ControlTemplate ici:
WPF ComboBox - montrant quelque chose de différent quand aucun élément n'est lié
<ControlTemplate x:Key="LoadingComboTemplate" TargetType="{x:Type ComboBox}">
<Grid>
<TextBlock x:Name="textBlock" Opacity="0.345" Text="Retrieving data..." Visibility="Hidden" />
</Grid>
<!--
<ControlTemplate.Triggers>
<Trigger Property="ComboBox.ItemsSource" Value="0">
<Setter Property="Visibility" Value="Visible" />
</Trigger>
</ControlTemplate.Triggers>
-->
</ControlTemplate>
mais ma question est de savoir comment puis-je configurer le déclencheur pour montrer lorsque la propriété ItemsSource est nulle? J'ai essayé plusieurs manières différentes, et chaque manière m'a donné le message d'erreur "la valeur" ItemsSource "ne peut pas être assignée à la propriété" Property "Invalid PropertyDescriptor la valeur.". Mon XAML ComboBox est ce (y compris la gâchette tentative):
<ComboBox Margin="112,35,80,0"
Name="MyComboBox"
Height="22.723"
VerticalAlignment="Top"
DisplayMemberPath="FriendlyName"
SelectedValuePath="Path"
TabIndex="160"
>
<Trigger>
<Condition Property="ItemsSource" Value="0" />
<Setter Property="Template" Value="{StaticResource LoadingComboTemplate}" />
</Trigger>
</ComboBox>
devrait maintenant le déclencheur aller sur le ComboBox, ou sur le ControlTemplate? Comment accéder à la propriété ItemsSource de ComboBox? Devrais-je même utiliser un déclencheur?
Merci!
Merci Ray, travaillé parfaitement. – slugster