WPF, How to focus a TextBox element of an user control from another?

My window architecture is a Mainwindow.xaml which contains many usercontrols ie: Pesos.xaml and Materiales.xaml. The problem is when the user clicks over any "Materiales.xaml" component, the focused TextBox element in "Pesos.xaml" loses the focus. I tried to add a public property which returns the Textbox of "Pesos" usercontrol about im interested on with no success. By the moment is enaugh for me that when the keyup event be throwed by the "Materiales" usercontrol, the focus goes to "Pesos" usercomponent TextBox. This is Pesos.cs.xaml, at first you can see BuscadorTexto public property in order to access it from out of the usercontrol. Secondly, I have the UserControl_GotFocus() which it will throw an exception when the focus is received from Materiales user control due to the DataContext is null:

public partial class Pesos : UserControl
{
    public Pesos()
    {
        InitializeComponent();
    }
    bool txtPesoFocus = false;
    public TextBox BuscadorTexto {
        get { return this.txtBuscador; }
    }
    ...
    private void UserControl_GotFocus(object sender, RoutedEventArgs e)
    {
        if (!((ViewModel.PuestoViewModel)DataContext).IsMaterialValido.GetValueOrDefault())
            this.txtBuscador.Focus();
        else if (((ViewModel.PuestoViewModel)DataContext).IsMaterialValido.GetValueOrDefault() 
            && ((ViewModel.PuestoViewModel)DataContext).SelectedBascula.Tipo == Comun.TipoMaquina.Manual)
            txtPeso.Focus();
    }
}

And this is Materiales.cs:

<UserControl x:Class="A99.AsuaProducts.Ensayos.Controles.Puestos.OfMateriales"
     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:local="clr-namespace:A99.AsuaProducts.Ensayos.Controles.Puestos"
     xmlns:iconPacks="http://metro.mahapps.com/winfx/xaml/iconpacks"
     xmlns:controls="http://metro.mahapps.com/winfx/xaml/controls"
     mc:Ignorable="d" 
     d:DesignHeight="450" d:DesignWidth="800" >

<Grid>
    <Grid.RowDefinitions>
        ...
    </Grid.RowDefinitions>
    <Grid HorizontalAlignment="Stretch">
    <Grid.ColumnDefinitions>
        ...
    </Grid.ColumnDefinitions>
</Grid>

<DataGrid x:Name="MetroDataGrid" 
              ItemsSource="{Binding ListaOfIteracionMaterialesMaquina}" 
              SelectedItem="{Binding SelectedOfIteracionMaterial}"
              Grid.Row="1"
              Margin="2"
              AutoGenerateColumns="False"
              HeadersVisibility="All"
              CanUserAddRows="False"
              CanUserDeleteRows="False"
              CanUserReorderColumns="False"
              CanUserResizeRows="False"
              CanUserSortColumns="False"
              CanUserResizeColumns="False"
              IsReadOnly="True"
              SelectionUnit="FullRow"
              Focusable="False"
              KeyUp="MetroDataGrid_KeyUp">
        <DataGrid.Columns>
                ...
        </DataGrid.Columns>
        
</DataGrid>
...

</UserControl>

This is the Materiales code behind:

public partial class OfMateriales : UserControl
{
    public OfMateriales()
    {
        InitializeComponent();
    }

    private void Button_GotFocus(object sender, RoutedEventArgs e)
    {
        MessageBox.Show("Ojo que siguiente tiene el foco");
    }

    private void MetroDataGrid_KeyUp(object sender, KeyEventArgs e)
    {
        Pesos uc = new Pesos();
        uc.BuscadorTexto.Text = "KK";
        uc.BuscadorTexto.Focus(); 
    }
}

As you can see, I tried to edit the textBox content and set the focus but no effect at all.