I\'ve got a UserControl that contains a button and some other controls:
...
Add a dependency property to your UserControl and bind the button's Command property to that.
So in your GreatUserControl:
public ICommand SomeCommand
{
get { return (ICommand)GetValue(SomeCommandProperty); }
set { SetValue(SomeCommandProperty, value); }
}
public static readonly DependencyProperty SomeCommandProperty =
DependencyProperty.Register("SomeCommand", typeof(ICommand), typeof(GreatUserControl), new UIPropertyMetadata(null));
And in your GreatUserControl's XAML:
<UserControl
x:Class="Whatever.GreatUserControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Name="me"
>
<Button Command="{Binding SomeCommand,ElementName=me}">Click Me!</Button>
</UserControl>
So your button binds to the command on the UserControl itself. Now you can set that in your parent window:
<my:GreatUserControl SomeCommand="{Binding SomeCommandHere}" />