From e2b9586b0d760c63f6bd7c67432b062ae53f18ed Mon Sep 17 00:00:00 2001 From: "Mr.k" Date: Thu, 7 Nov 2024 21:30:15 +0300 Subject: [PATCH] Simple changes to 'Invoke-WPFTab' Public Function (#2976) * Improve 'Invoke-WPFTab' Parameter by specifying its type (as expected by the function) and make it Mandatory * Simple performance increases in 'Invoke-WPFTab' function - Use where method instead of piping the result into Where-Object * Remove commented-out code in 'Invoke-WPFTab' function --- functions/public/Invoke-WPFTab.ps1 | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/functions/public/Invoke-WPFTab.ps1 b/functions/public/Invoke-WPFTab.ps1 index 7333467f..15d64bbd 100644 --- a/functions/public/Invoke-WPFTab.ps1 +++ b/functions/public/Invoke-WPFTab.ps1 @@ -10,17 +10,18 @@ function Invoke-WPFTab { #> - Param ($ClickedTab) + Param ( + [Parameter(Mandatory,position=0)] + [string]$ClickedTab + ) $tabNav = Get-WinUtilVariables | Where-Object {$psitem -like "WPFTabNav"} $tabNumber = [int]($ClickedTab -replace "WPFTab","" -replace "BT","") - 1 $filter = Get-WinUtilVariables -Type ToggleButton | Where-Object {$psitem -like "WPFTab?BT"} - $sync.GetEnumerator() | Where-Object {$psitem.Key -in $filter} | ForEach-Object { + ($sync.GetEnumerator()).where{$psitem.Key -in $filter} | ForEach-Object { if ($ClickedTab -ne $PSItem.name) { $sync[$PSItem.Name].IsChecked = $false - # $tabNumber = [int]($PSItem.Name -replace "WPFTab","" -replace "BT","") - 1 - # $sync.$tabNav.Items[$tabNumber].IsSelected = $false } else { $sync["$ClickedTab"].IsChecked = $true $tabNumber = [int]($ClickedTab-replace "WPFTab","" -replace "BT","") - 1