how to find a control inside ItemsPanelTemplate in wpf?

Posted by kakopappa on Stack Overflow See other posts from Stack Overflow or by kakopappa
Published on 2010-12-28T07:47:37Z Indexed on 2010/12/28 7:54 UTC
Read the original article Hit count: 285

Filed under:
|

I am trying to access a Grid inside the DataTemplate while the ItemsControl is binded by ItemsSource.

this is the full XMAL code, How do i find a certain element from outside?

for (int i = 0; i < allViewControl.Items.Count; i++)
{
 var container =  allViewControl.ItemContainerGenerator.ContainerFromItem(allViewControl.Items[i]) as FrameworkElement;
 var grid = allViewControl.ItemTemplate.FindName("grid", container) as DataGrid;
}

i found this always returning null ?

<ScrollViewer Grid.Row="0" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
    <ItemsControl  x:Name="allViewControl" Focusable="False" HorizontalContentAlignment="Center"
     Grid.IsSharedSizeScope="true" ItemsSource="{Binding AllClassCharacters}" 
     ItemTemplate="{StaticResource CharacterViewModelTemplate}"  >
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <Extensions:AnimatedWrapPanel  IsItemsHost="true" />
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
    </ItemsControl>
</ScrollViewer>



 <DataTemplate x:Key="CharacterViewModelTemplate" DataType="{x:Type ViewModel:CharacterViewModel}">
            <Grid x:Name="grid" Width="200" Height="Auto" MinHeight="115" Margin="1" MinWidth="130" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" RenderTransformOrigin="0.5,0.5" Background="#66000000"     >
                <Grid.RowDefinitions>
                    <RowDefinition Height="70"/>
                    <RowDefinition Height="*"/>
                </Grid.RowDefinitions>
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
            <ProgressBar x:Name="playerProgressBar" VerticalAlignment="Top" Background="Transparent" Height="5" Width="Auto" Value="0" Visibility="Collapsed" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan ="2" Grid.RowSpan="2" Foreground="White" BorderThickness="0" Style="{DynamicResource ProgressBarStyle1}" />
</Grid>

© Stack Overflow or respective owner

Related posts about c#

Related posts about wpf