Ich habe eine Listbox, und ich habe die folgende ItemTemplate für sie:WPF Auslöser für IsSelected in einem Datatemplate für ListBox Artikel
<DataTemplate x:Key="ScenarioItemTemplate">
<Border Margin="5,0,5,0"
Background="#FF3C3B3B"
BorderBrush="#FF797878"
BorderThickness="2"
CornerRadius="5">
<DockPanel>
<DockPanel DockPanel.Dock="Top"
Margin="0,2,0,0">
<Button HorizontalAlignment="Left"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="White" />
<Label Content="{Binding Path=Name}"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="white" />
<Label HorizontalAlignment="Right"
Background="#FF3C3B3B"
Content="X"
DockPanel.Dock="Left"
FontWeight="Heavy"
Foreground="White" />
</DockPanel>
<ContentControl Name="designerContent"
Visibility="Collapsed"
MinHeight="100"
Margin="2,0,2,2"
Content="{Binding Path=DesignerInstance}"
Background="#FF999898">
</ContentControl>
</DockPanel>
</Border>
</DataTemplate>
Wie Sie die Content Sichtbarkeit gesetzt sehen zu kollabiert.
Ich brauche einen Trigger zu definieren, die die Sichtbarkeit bewirkt auf „sichtbar“ gesetzt
wenn die ListItem ausgewählt ist, aber ich kann es nicht herausgefunden.
Irgendwelche Ideen?
UPDATE: Natürlich könnte ich einfach die DataTemplate duplizieren und Triggers an die betreffende ListBox hinzufügen, um entweder das eine oder das andere zu verwenden, aber ich möchte verhindern, diesen Code zu duplizieren.
Typ! Ich danke dir sehr! Ich hatte dieses Problem nicht, aber der FindAncestor half mir, einen großen Schmerz zu lösen, den ich mir 2 Stunden lang in den Kopf geschlagen hatte! Danke nochmal. Jason –
Was ist DesignerContent ??? Ich versuche, den ausgewählten listboxitem Hintergrund (ich verwende eine Inline-Datatemplate). Ich möchte, dass, wenn der Benutzer ein Element auswählt, sein Hintergrund nicht blau werden sollte, sondern die gleiche Farbe wie nicht ausgewählt haben sollte. – Shimmy
Ich wollte nur hinzufügen, dass die DataTrigger-Bindung im zweiten Beispiel mir sehr geholfen hat. Vielen Dank! – NigelTufnel