User Controls in WPF

Create a User Control

<UserControl x:Class="MyApp.usrctrlAudiogram"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c1chart="http://schemas.componentone.com/xaml/c1chart"    
    MinHeight="200" MinWidth="350">
    <Border Name="brd" Background="White" BorderBrush="LightGray" BorderThickness="2" CornerRadius="10,10,10,10">
        <c1chart:C1Chart Name="chartAudiogram" ChartType="LineSymbolsSmoothed" Margin="5">
            ...
        </c1chart:C1Chart>
    </Border>
</UserControl>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using C1.WPF.C1Chart;
 
namespace MyApp
{
    /// <summary>
    /// Interaction logic for usrctrlAudiogram.xaml
    /// </summary>
    public partial class usrctrlAudiogram : UserControl
    {
        // public properties
        public bool ShowLeftAudiogram { get; set; }
        public bool ShowRightAudiogram { get; set; }
        public Border border 
        {
            get { return brd; }
            set { brd = value; }
        }
        public C1Chart AudiogramChart
        {
            get { return chartAudiogram; }
            set { chartAudiogram = value; }
        }
 
        public usrctrlAudiogram()
        {
            InitializeComponent();
        }
    }
}

Consume a User Control

<Window x:Class="MyApp.WindowMain"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:c1chart="http://schemas.componentone.com/xaml/c1chart"    
    xmlns:c1ext="http://schemas.componentone.com/wpf/C1Extended"
    xmlns:c1="http://schemas.componentone.com/wpf/Basic"  
    xmlns:local="clr-namespace:MyApp"
    Name="frmMain" Title="My Application" Icon="/images/MyApp.ico"
    Height="600" Width="1024"  
    MinHeight="600" MinWidth="1024" 
    Background="#FFF9F9F9">
    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
       <local:usrctrlAudiogram x:Name="AudiogramLeft" Grid.Column="0" ShowLeftAudiogram="True" ShowRightAudiogram="False"  />
       <local:usrctrlAudiogram x:Name="AudiogramRight" Grid.Column="1" ShowLeftAudiogram="False" ShowRightAudiogram="True"  />
    </Grid>
</Window>

Manipulate the control programmatically:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Media.Animation;
using System.Windows.Navigation;
using System.Windows.Shapes;
using C1.WPF.C1Chart;
 
namespace MyApp
{
    /// <summary>
    /// Interaction logic for WindowMain.xaml
    /// </summary>
    public partial class WindowMain : Window
    {
        public WindowMain()
       {
            InitializeComponent();
            InitializeBinauralAudiogramChart();
            InitializeFittingCharts();
 
            // initialize single audiograms
            AudiogramLeft.AudiogramChart.Tag=0;
       }
       ...
    }
}