Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

wpf usercontrol, bind command parameter of button to the parent usercontrol

I've got a WPF UserControl which contains a remove button, I'd like to pass the entire UserControl as the CommandParameter.

Currently the binding is set to CommandParameter="{Binding RelativeSource={RelativeSource Self}}" which gives me the button, but how can I get the entire control?

Can anyone assist please?

Cheers,

Andy

<UserControl x:Class="GTS.GRS.N3.Controls.LabelledTextBox"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="100" />
        <ColumnDefinition Width="155" />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Label Name="label" HorizontalAlignment="Left" Width="96">Label</Label>
    <TextBox Name="textBox" Grid.Column="1" />
    <Button Grid.Column="2" Style="{DynamicResource CloseButton}" Command="{Binding RemoveCommand}" CommandParameter="{Binding RelativeSource={RelativeSource Self}}" Visibility="{Binding RemoveVisible}"></Button>
</Grid>
</UserControl>
like image 827
Andy Clarke Avatar asked Aug 21 '09 10:08

Andy Clarke


1 Answers

Cracked it ...

<Button 
    Grid.Column="2" 
    Style="{DynamicResource CloseButton}"
    Command="{Binding RemoveCommand}"
    CommandParameter="{Binding RelativeSource=
        {RelativeSource FindAncestor, AncestorType={x:Type UserControl}}}" 
    Visibility="{Binding RemoveVisible}" 
    />
like image 115
Andy Clarke Avatar answered Oct 23 '22 01:10

Andy Clarke