Decir que tengo un control de usuario muy simple que - para todos los intentos y propósitos - no es más que Cuadro de texto:Configuración de las propiedades personalizadas de control de usuario a través de DataBinding
public partial class FooBox : UserControl
{
public static readonly DependencyProperty FooTextProperty =
DependencyProperty.Register("FooText", typeof(string), typeof(FooBox));
public FooBox()
{
InitializeComponent();
}
public string FooText
{
get { return textBlock.Text; }
set { textBlock.Text = value; }
}
}
<UserControl x:Class="Namespace.FooBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="300" Width="300">
<Grid>
<TextBlock x:Name="textBlock" />
</Grid>
</UserControl>
En el formulario se declara como:
<local:FooBox FooText="{Binding Name}" />
El DataContext del formulario se establece en un objeto que tiene una propiedad Name. Pero esto no está funcionando para mí. ¿Qué me estoy perdiendo?
También tenga en cuenta que el método de registro para propiedades de dependencia tiene sobrecargas que pueden aceptar controladores de eventos que se activan cada vez que la propiedad está cambiando o ha cambiado. Ese podría ser un lugar para poner la lógica que tienes allí. –