Harry Boy
Harry Boy

Reputation: 4745

Access a UserControl from code in WPF app

I have a created a usercontrol in my wpf application. I have used it like so:

<Page x:Class="InstallerToolkit.Pages.PageVideosNvr"
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
  xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
  xmlns:my="clr-namespace:MyProject.UserControls"
  mc:Ignorable="d" 
  d:DesignHeight="525" d:DesignWidth="1050"
Title="PageVideos">
  <Grid>
        <my:UserControlVideoPlayer Name="VideoPlayer" Margin="559,74,35,155">

    </my:UserControlVideoPlayer>
</Grid>

Now in my C# page I want to access it but the VideoPlayer object doesnt appear when I type its name in the code behind c# page.

What doo I do to access it as I want to set one of its properties.

Upvotes: 2

Views: 3079

Answers (1)

Rohit Vats
Rohit Vats

Reputation: 81253

Give x:Name to your UserControl instead of Name

<my:UserControlVideoPlayer x:Name="VideoPlayer" Margin="559,74,35,155">

It will be accessible now in code behind using this.VideoPlayer.

I would suggest to make it a thumb rule that always use x:Name whenever referring to elements in XAML.

Refer to this for difference between Name and x:Name.

Upvotes: 6

Related Questions