Click or drag to resize

AttachedPropertiesContainerLastNotNullLogical Angefügte Eigenschaften

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.

Namensraum: Vishnu.WPF_UI.DependencyProperties
Assembly: Vishnu.WPF_UI (in Vishnu.WPF_UI.dll) Version: 1.0.0+d75bac576d44afb64cfff79fd3665c8ca1172cbc
Syntax
See GetLastNotNullLogical, SetLastNotNullLogical

Eigenschaftswert

NullableBoolean
Siehe auch