Reputation: 4745
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
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