Je recherche un équivalent WPF TreeView de TreeView.HideSelection = false
. Est-ce que quelqu'un a une idée?TreeView.HideSelection = false - équivalent dans WPF
1
A
Répondre
1
Si ma compréhension de TreeView.HideSelection
est correcte, placez ce qui suit dans vos ressources:
<ControlTemplate x:Key="StaysHighlightedTreeViewItemTemplate" TargetType="{x:Type TreeViewItem}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition MinWidth="19" Width="Auto"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition/>
</Grid.RowDefinitions>
<ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}">
<ToggleButton.Style>
<Style TargetType="{x:Type ToggleButton}">
<Setter Property="Focusable" Value="False"/>
<Setter Property="Width" Value="16"/>
<Setter Property="Height" Value="16"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ToggleButton}">
<Border Background="Transparent" Height="16" Padding="5" Width="16">
<Path x:Name="ExpandPath" Data="M0,0 L0,6 L6,0 z" Fill="Transparent" Stroke="#FF989898">
<Path.RenderTransform>
<RotateTransform Angle="135" CenterY="3" CenterX="3"/>
</Path.RenderTransform>
</Path>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Stroke" TargetName="ExpandPath" Value="#FF1BBBFA"/>
<Setter Property="Fill" TargetName="ExpandPath" Value="Transparent"/>
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter Property="RenderTransform" TargetName="ExpandPath">
<Setter.Value>
<RotateTransform Angle="180" CenterY="3" CenterX="3"/>
</Setter.Value>
</Setter>
<Setter Property="Fill" TargetName="ExpandPath" Value="#FF595959"/>
<Setter Property="Stroke" TargetName="ExpandPath" Value="#FF262626"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ToggleButton.Style>
</ToggleButton>
<Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="1" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True">
<ContentPresenter x:Name="PART_Header" ContentTemplate="{TemplateBinding HeaderTemplate}" Content="{TemplateBinding Header}" ContentStringFormat="{TemplateBinding HeaderStringFormat}" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
</Border>
<ItemsPresenter x:Name="ItemsHost" Grid.ColumnSpan="2" Grid.Column="1" Grid.Row="1"/>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsExpanded" Value="False">
<Setter Property="Visibility" TargetName="ItemsHost" Value="Collapsed"/>
</Trigger>
<Trigger Property="HasItems" Value="False">
<Setter Property="Visibility" TargetName="Expander" Value="Hidden"/>
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.HighlightTextBrushKey}}"/>
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="StaysHighlightedTreeViewItem" TargetType="{x:Type TreeViewItem}">
<Setter Property="Template" Value="{StaticResource StaysHighlightedTreeViewItemTemplate}"/>
</Style>
Ensuite, utilisez le style comme ceci:
<TreeView ItemContainerStyle="{StaticResource StaysHighlightedTreeViewItem}" />
Le modèle de contrôle par défaut a le déclencheur suivant:
<MultiTrigger>
<MultiTrigger.Conditions>
<Condition Property="IsSelected" Value="True"/>
<Condition Property="IsSelectionActive" Value="False"/>
</MultiTrigger.Conditions>
<Setter Property="Background" TargetName="Bd" Value="{DynamicResource {x:Static SystemColors.ControlBrushKey}}"/>
<Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
</MultiTrigger>
Ceci a modifié la surbrillance de l'élément sélectionné lorsque n la sélection n'était pas active (c.-à-d. en supprimant ce déclencheur, le surlignage standard est utilisé même s'il n'a pas le focus.
Questions connexes
- 1. PagedCollectionView équivalent dans WPF?
- 2. QStackedLayout équivalent dans WPF
- 3. PrintDialog.PrinterSettings équivalent dans WPF
- 4. BeginUpdate équivalent dans WPF?
- 5. code équivalent dans wpf
- 6. SwingUtilities.invokeLater équivalent dans WPF
- 7. Équivalent WPF Radiobutton
- 8. Équivalent à System.Windows.Forms.DataFormats.GetFormat dans WPF
- 9. Équivalent à InvokeRequired dans WPF
- 10. WPF et ToolboxItem (false)
- 11. Appcelerator équivalent à Java 'setScrollbarFadingEnabled (false)'
- 12. WPF équivalent à ActiveControl?
- 13. Image.FromHbitmap Équivalent WPF
- 14. WPF équivalent à TextRenderer
- 15. WPF équivalent à Bitmap.LockBits
- 16. Java équivalent à WPF
- 17. ControlTemplate.Triggers Équivalent WPF dans Silverlight 3
- 18. WPF - ItemsSource équivalent pour Table dans FlowDocument?
- 19. ce qui est équivalent à allowlayoutchange = "false" allowpersonalization = "false" allowcustomization = "false"><ZoneTemplate> dans le modèle objet
- 20. WPF équivalent de l'événement Control.CursorChanged
- 21. Équivalent WPF de marge supérieure?
- 22. WPF équivalent de Form.ShowDialog (IWin32Window)
- 23. besoin équivalent Wpf de SystemInformation.DragSize
- 24. C# WPF - Icône d'application + ShowInTaskbar = False
- 25. WPF ListView ScrollBar visible à false
- 26. équivalent de Path.BitmapEffect dans Silverlight
- 27. WPF UIElement.IsHitTestVisible = false; toujours revenir hits?
- 28. C#/WPF: Faire un GridViewColumn Visible = false?
- 29. Quel est le python équivalent de strpos ($ élém, "text") == false)
- 30. code équivalent pour Android: mot de passe = "false"
essayez de regarder à travers ce lien (il me semblait similaire) http://stackoverflow.com/questions/7905881/wpf-treeviewitem-toggle-button-visibility. – wjhguitarman
Que devez-vous faire exactement? Je ne sais pas ce que TreeView.HideSelection serait. Est-ce des winforms? –