Click or drag to resize

AttachedPropertiesContainer Felder

Der AttachedPropertiesContainer Typ exponiert die folgenden Member.

Felder
 NameBeschreibung
Public FeldStatic MemberHasParentProperty Bei True hat der Knoten einen Eltern-Knoten, bei False ist er die Root.
Public FeldStatic MemberLastNotNullLogicalProperty Attached Property für einen nullable Boolean zur Weitergabe des logischen Zustands des dem Control zugeordneten Checkers (wird z.B. zur abhängigen Farbgebung (false=rot, true=grün) einer übergeordneten Border in einem ControlTemplate genutzt): Nach diversen Fehlversuchen hat sich als einzige gangbare Lösung folgende Vorgehensweise herauskristallisiert: einem dem ControlTemplate übergeordneten Control oder DataTemplate wird die AttachedProperty "LastNotNullLogical" zugeordnet: <Expander Name="Exp" Template="{StaticResource ExpanderStyleHeaderCentered}" ... attached:AttachedPropertiesContainer.LastNotNullLogical="{Binding LastNotNullLogical, diag:PresentationTraceSources.TraceLevel=High}" > Die AttachedProperty "LastNotNullLogical" wird dabei direkt an "LastNotNullLogical" aus dem DataContext, hier "LogicalNodeViewModel" gebunden. Im untergeordneten ControlTemplate, hier <ControlTemplate TargetType="ToggleButton"> in LogicalTaskTreeControlStaticResourceDictionary.xaml werden DataTrigger an das übergeordnete Control mit Path auf die AttachedProperty "LastNotNullLogical" gebunden: <DataTrigger Binding="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Expander}}, Path=(attached:AttachedPropertiesContainer.LastNotNullLogical)}" Value="True"> <Setter Property = "Border.BorderBrush" TargetName="ToggleButtonBorder" Value="{StaticResource ItemBorderBrushGreen}" /> </DataTrigger> <DataTrigger Binding = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Expander}}, Path=(attached:AttachedPropertiesContainer.LastNotNullLogical)}" Value="False"> <Setter Property = "Border.BorderBrush" TargetName = "ToggleButtonBorder" Value = "{StaticResource ItemBorderBrushRed}" /> </ DataTrigger> Wichtiger Hinweis: andere Lösungsansätze scheiterten spätestens bei Umschaltung der Tree-Orientierung.
Public FeldStatic MemberParentChildOrientationProperty Ausrichtung der Kind-Knoten, horizontal oder vertikal.
Zurück nach oben
Siehe auch