mirror of
https://github.com/Micke-K/IntuneManagement.git
synced 2026-09-28 19:05:38 +02:00
IntuneManagement 4.0.0-beta1
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
#ImportOrder 3
|
||||
|
||||
# CLR-backed shape for items rendered in the left-nav ListBox under the
|
||||
# Avalonia backend. Avalonia's binder reflects against real CLR properties
|
||||
# and does NOT special-case PSObject's NoteProperty bag the way WPF does, so
|
||||
# binding to a [PSCustomObject] would silently resolve to null. This class
|
||||
# exists to give those bindings real properties to find.
|
||||
#
|
||||
# Mirrors the WPF view-item shape just enough for the existing
|
||||
# DataTemplate ({Binding MenuLabel} + {Binding IconImage}) plus the few
|
||||
# fields Show-View / OnItemChanged read.
|
||||
|
||||
class ViewMenuItem
|
||||
{
|
||||
[string]$Id
|
||||
[string]$Title
|
||||
[string]$MenuLabel
|
||||
[string]$Category
|
||||
[string]$Description
|
||||
# Permission state, stamped from the underlying type/group by
|
||||
# Get-IntuneViewItems. Drives the row colour via the Classes bindings in
|
||||
# MainWindow.axaml ("Limited" = orange, "None" = red); AccessInfo is the
|
||||
# tooltip breakdown. Held as a string because Avalonia's Classes binding
|
||||
# compares against one.
|
||||
[string]$AccessType
|
||||
# [object], not [string]: an empty tooltip is not the same as no tooltip.
|
||||
# Avalonia shows a blank popup for ToolTip.Tip="" but nothing for $null, and
|
||||
# a [string] property would coerce $null to "".
|
||||
[object]$AccessInfo
|
||||
# Avalonia's Classes bindings take booleans and it has no DataTrigger, so the
|
||||
# string above cannot drive the style directly. Set alongside AccessType by
|
||||
# Get-IntuneViewItems.
|
||||
[bool]$IsAccessLimited = $false
|
||||
[bool]$IsAccessNone = $false
|
||||
[Object]$IconImage
|
||||
[Object]$Tag
|
||||
# IsHeader=true marks a category-header row inserted by Show-ViewMenu when
|
||||
# rendering grouped left-nav menus. Avalonia's ListBox has no GroupStyle
|
||||
# equivalent, so we fake the WPF Expander headers with non-selectable rows
|
||||
# that share the same DataTemplate (template branches on IsHeader).
|
||||
[bool]$IsHeader = $false
|
||||
|
||||
ViewMenuItem() {}
|
||||
}
|
||||
Reference in New Issue
Block a user