0

これは私のitemsControlです:

    <ItemsControl x:Name="MessagesContainer">
         <ItemsControl.ItemsPanel>
               <ItemsPanelTemplate>
                   <StackPanel Orientation="Vertical"></StackPanel>
               </ItemsPanelTemplate>
         </ItemsControl.ItemsPanel>
         <ItemsControl.ItemTemplate>
               <DataTemplate>
                   <StackPanel>
                        <TextBlock Text="{Binding MessageText}" />
                        <TextBlock Text="{Binding MessageCreatedDate}" />
                    </StackPanel>
               </DataTemplate>
         </ItemsControl.ItemTemplate>
    </ItemsControl>

上位3つのアイテム(つまり、上位3つのstackPanels)にアクセスして背景色を変更したいので、ItemContainerGenerator 以下を試しました:

for (int i = 0; i < 3; i++) 
{
   UIElement uiElement = 
    (UIElement)MessagesContainer.ItemContainerGenerator.ContainerFromIndex(i);//<-- always null
}

しかし、uiElement常にnull値を持って
います またはから特定のアイテムを取得する他の方法はitemsControl

4

0 に答える 0