Wie Stil anzuwenden Auslöser in WPF datatemplate
Ich habe Folgendes..
<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>
Das problem ist, dass man nicht einen Stil anwenden.Auslösen wie ich versuche zu tun in einem DataTemplate. Also meine Frage ist, wie würden Sie anwenden, erstellen Sie einen trigger so, dass eine Eigenschaft auf das DataTemplate, änderungen, basierend auf den übergeordneten?
ENDGÜLTIGE LÖSUNG:
Nahm ich, was Souvik gegeben hatte und es behoben, da gab es ein paar Probleme. Hier ist das Endergebnis.
<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>
InformationsquelleAutor Shane Courtrille | 2011-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben DataTemplate trigger anstelle der Style-trigger:
Sorry, ich testete es in meinem env und vergessen zu entfernen, das GroupBox-und Tag-Sache vor der Buchung. Glücklich, dass es geklappt hat 🙂
InformationsquelleAutor Souvik Basu