1

我想要
从后面的代码更改运行时数据模板中上下文菜单的属性(例如背景)。

什么是 XAML

<DataTemplate x:Key="ListsDataTemplate">
    <StackPanel x:Name="stackPanel" Margin="0,0,0,10">
        <toolkit:ContextMenuService.ContextMenu> 
            <toolkit:ContextMenu x:Name="myMenu" IsFadeEnabled="False" IsZoomEnabled="False">
                        <toolkit:MenuItem x:Name="edit" Header="{Binding LocalStrings.bt_menu_Edit, Source={StaticResource LocalizedResources}}" Click="menuItemEdit_Click" />
                        <toolkit:MenuItem x:Name="postpone" Header="{Binding LocalStrings.bt_menu_Postpone, Source={StaticResource LocalizedResources}}" Click="menuItemPostpone_Click" />
                        <toolkit:MenuItem x:Name="email" Header="{Binding LocalStrings.bt_menu_Email, Source={StaticResource LocalizedResources}}" Click="menuItemEmail_Click" />
                        <toolkit:MenuItem x:Name="sms" Header="{Binding LocalStrings.bt_menu_Sms, Source={StaticResource LocalizedResources}}" Click="menuItemSMS_Click" />                        
                </toolkit:ContextMenu> 
        </toolkit:ContextMenuService.ContextMenu>

        <ListBox    
            HorizontalAlignment="Left" 
            DataContext="{Binding}" 
            ItemTemplate="{StaticResource ListsDataTemplate}" 
            VerticalAlignment="Top" 
            Width="432" 
            Margin="0,81,0,0" 
            x:Name="myListBox">
        </ListBox>
4

1 回答 1

1

Loaded="myMenu_Loaded"处理程序添加到myMenu,并在该处理程序中声明var myMenu = (ContextMenu)sender;

由于 myMenu 位于 DataTemplate 中,并且是用于创建对象的模板,而不是实际在页面上使用的实例,因此不会为它自动生成任何字段。

于 2012-06-18T13:27:03.830 回答