WPF UserControl

Welcome Forums General PowerShell Q&A WPF UserControl

This topic contains 5 replies, has 4 voices, and was last updated by

1 year, 2 months ago.

  • Author
  • #49571

    Topics: 2
    Replies: 2
    Points: 0
    Rank: Member

    The requirement is to display a user control in a tab item. The below is the code I am trying. I am trying to use a WPF User control in PowerShell. Everything is working fine but when I select the tab item then getting the focus error.

    I tried to resolve it by own and even tried to seek help from others but unfortunately unable to fix it.

    Add-Type -AssemblyName PresentationFramework
    [xml]$MainXAML = @"
    [xml]$UserControlXAML = @"
    $MainReader = New-Object System.Xml.XmlNodeReader $MainXAML
    $Window_Main= [Windows.Markup.XamlReader]::Load($MainReader) in 
    $UC_Reader = New-Object System.Xml.XmlNodeReader $UserControlXAML
    $Window_UC= [Windows.Markup.XamlReader]::Load($UC_Reader)
    $MainXAML.SelectNodes("//*[@Name]") | %{ Set-Variable -Name ("WPF_Main_"+$_.Name) -Value $Window_Main.FindName($_.Name) -Scope "Script" }
    $UserControlXAML.SelectNodes("//*[@Name]") | %{ Set-Variable -Name ("WPF_UC_"+$_.Name) -Value $Window_UC.FindName($_.Name) -Scope "Script" }
        Write-Host -ForegroundColor Green "I am in the click event."
        $TabItem1 = New-Object System.Windows.Controls.TabItem
        $TabItem1.Header = "Eureka"

    Error that I am getting

    Hide   Copy Code
    Exception calling "ShowDialog" with "0" argument(s): "Must disconnect specified child from current parent Visual before attaching to new parent Visual."
    At line:50 char:1
    + $Window_Main.ShowDialog()
    + ~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
        + FullyQualifiedErrorId : ArgumentException
  • #49626

    Topics: 13
    Replies: 4872
    Points: 1,843
    Helping HandTeam Member
    Rank: Community Hero

    Sadly, and I hate to do this, but you might get better results in StackOverflow – more developers there, more playing with WPF. But please, if you do figure it out, a link to the solution will be appreciated by future generations ;).

  • #49664

    Topics: 0
    Replies: 20
    Points: 0
    Rank: Member

    Can you try to re-paste your code? I'm not seeing any of the XAML code so I cannot test to see what the issue might be.

    • #49668

      Topics: 2
      Replies: 2
      Points: 0
      Rank: Member

      Hi Prox,
      every time the xml part is vanishing. Let me try gist. In other hand may I have your email address so that I can post it to you?

  • #49741

    Topics: 2
    Replies: 2
    Points: 0
    Rank: Member

    I have fixed this issue. I am unable to paste the solved code here since xml part is auto wiping. The solution is, we should create all the controls with in a grid control and add only the grid control to the target control 🙂

  • #101277

    Topics: 0
    Replies: 1
    Points: 0
    Rank: Member

    Hi Sagar,

    Would you please provide an example in plain text? I am running into the same problem using User Control within PowerShell.

    As you can see from my example below, I get a namespace error when I try implementing UserControls within PowerShell. Am I wrong, is it possible? Any help is appreciated.

    For example:
    If I tried implementing a XAML User Control and binding it with PowerShell but it fails with a namespace error. My test project has two XAML files and one PS1 script that can be found in my GitHub.


    Project files
    1. MainWindow.xaml
    2. MyListBoxItem.xaml
    3. UsrControl.PS1

    PowerShell error:
    PS C:\WINDOWS\system32> C:\Temp\UserControl\usrcontrol.ps1
    Get-ChildItem : Exception calling "Load" with "1" argument(s): "Cannot create unknown type '{clr-namespace:Test.Controls;assembly=Test.Controls}MyListBoxItem'."
    At C:\Temp\UserControl\usrcontrol.ps1:68 char:8
    + $wpf = Get-ChildItem -Path $path -Filter *.xaml -file | Where-Object ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : NotSpecified: (:) [Get-ChildItem], MethodInvocationException
    + FullyQualifiedErrorId : XamlParseException,Microsoft.PowerShell.Commands.GetChildItemCommand

The topic ‘WPF UserControl’ is closed to new replies.