![]() | Attached |
Der AttachedPropertiesContainer Typ exponiert die folgenden Member.
Name | Beschreibung | |
---|---|---|
![]() | HasParent | Attached Property (bool). Bei true hat der Knoten Child-Knoten. |
![]() | LastNotNullLogical | 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. |
![]() | ParentChildOrientation | Attached Property (Orientation), Horizontal oder Vertical. |