如何从代码中的ItemsControl中的ItemTemplate获取控件?

时间:2016-07-04 10:11:37

标签: wpf

我有ItemsControl加载<MenuItem SubmenuOpened="MenuItem_OnSubmenuOpened" Style="{StaticResource MenuItemImageStyle}" > <ItemsControl ItemsSource="{Binding WorkshopList}" x:Name="ItemsControl" HorizontalContentAlignment="Stretch" Margin="-35 0" > <ItemsControl.ItemTemplate> <DataTemplate> <MenuItem Header="{Binding Name}" x:Name="MenuItem" Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.LeaveCommand}" CommandParameter="{Binding Id}" Style="{StaticResource MenuItemImageStyle}" Padding="20"> </MenuItem> </DataTemplate> </ItemsControl.ItemTemplate> </ItemsControl> </MenuItem> 中的子菜单项。

ItemsControl

我想在打开子菜单时关注SubmenuOpened的第一项。

我使用ItemsControl事件,想要找到第一个项目并将其集中。但我如何获得 var container = ItemsControl.ItemContainerGenerator.ContainerFromItem(ItemsControl.Items.CurrentItem) as FrameworkElement; 的控件。

    add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);

function custom_variation_price( $price, $product ) {

    foreach($product->get_available_variations() as $pav){
        $def=true;
        foreach($product->get_variation_default_attributes() as $defkey=>$defval){
            if($pav['attributes']['attribute_'.$defkey]!=$defval){
                $def=false;             
            }   
        }
        if($def){
            $price = $pav['display_price'];         
        }
    }   

    return woocommerce_price($price);

}

但容器为空。

0 个答案:

没有答案