Comment appliquer un style de déclenchement de datatemplate dans WPF
J'ai la suite..
<ComboBox Grid.Row="2" Grid.Column="2" Grid.RowSpan="2" ItemsSource="{Binding ShipperAddresses}" Text="{Binding ShipperAddress}" Margin="85,2,0,2">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBox AcceptsReturn="True" Width="200" Height="100"/>
<DataTemplate.Resources>
<Style TargetType="{x:Type TextBox}">
<Setter Property="IsReadOnly" Value="True">
<Style.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type GroupBox}}, Path=Tag}" Value="False"/>
</Style.Triggers>
</Setter>
</Style>
</DataTemplate.Resources>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Le problème est que vous ne pouvez pas appliquer un Style.Déclencheur comme je suis en train de faire à l'intérieur d'un DataTemplate. Donc ma question est, comment voulez-vous appliquer de créer un déclencheur pour une propriété sur le DataTemplate des modifications basées sur le parent?
SOLUTION FINALE:
J'ai pris ce que Souvik m'a donné et fixée depuis il y a eu quelques problèmes. Voici le résultat final.
<ComboBox Grid.Row="2" Grid.Column="2" Grid.RowSpan="2" ItemsSource="{Binding ShipperAddresses}" Text="{Binding ShipperAddress}" DisplayMemberPath="Value" Margin="85,2,0,2">
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBox AcceptsReturn="True" Width="200" Height="100" Text="{Binding Path=Value}"/>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ComboBox}}, Path=IsEditable}" Value="False">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ComboBox.ItemTemplate>
<ComboBox.Resources>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="IsEditable" Value="True"/>
<Style.Triggers>
<Trigger Property="IsDropDownOpen" Value="True" >
<Setter Property="IsEditable" Value="False"/>
</Trigger>
</Style.Triggers>
</Style>
</ComboBox.Resources>
OriginalL'auteur Shane Courtrille | 2011-06-07
Vous devez vous connecter pour publier un commentaire.
Ont DataTemplate déclencheur au lieu de Style de déclenchement:
Désolé j'ai été le tester dans mon env et j'ai oublié de supprimer la Zone de groupe et de la Balise chose avant de poster. Heureux que cela a fonctionné pour vous 🙂
OriginalL'auteur Souvik Basu