Mahesh
Mahesh

Reputation: 1485

In WPF, how to find a control from gridview?

I am using listview contain gridview to bind the data. I want to find the check box controls (i.e. chkUser) on button click event. (i.e. btnUserId click event)

How I can achieve it? If here is any other alternative solutions for the same, let me know.

My code:

<ListView Name="listUsers" SelectionMode="Single" Height="200" SelectionChanged="listUsers_SelectionChanged">
    <ListView.View>
        <GridView AllowsColumnReorder="true">
            <GridViewColumn Header="User Id" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Button Name="btnUserId" Cursor="Hand"  Tag="{Binding Path=UserId }" Click="btnUserId_Click" Content="{Binding Path=UserId }" Style="{StaticResource LinkButton}"></Button>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Name" DisplayMemberBinding="{ Binding Path=UserName }"></GridViewColumn>
            <GridViewColumn Header="Email Id" DisplayMemberBinding="{ Binding Path=Email }"></GridViewColumn>
            <GridViewColumn Header="Mobile" DisplayMemberBinding="{ Binding Path=Mobile }"></GridViewColumn>
            <GridViewColumn Header="User Type" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Label Name="lblUserType">User Type</Label>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Active" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <CheckBox Name="chkUser" Width="120" Content="{Binding Path=deleted }"></CheckBox>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
            <GridViewColumn Header="Update" >
                <GridViewColumn.CellTemplate>
                    <DataTemplate>
                        <Button Height="23" Name="button1" Tag="{Binding Path=UserId }" CommandParameter="{ Binding Path=UserId }" Click="button1_Click" Width="75">Button</Button>
                    </DataTemplate>
                </GridViewColumn.CellTemplate>
            </GridViewColumn>
        </GridView>
    </ListView.View>
</ListView>

Upvotes: 0

Views: 3522

Answers (1)

Chintana Meegamarachchi
Chintana Meegamarachchi

Reputation: 1820

You should be able to use FindName to locate a ctrl by its name. In the above case it would be

listUsers.FindName("chkUser");

Cheers

Upvotes: 1

Related Questions