2013-05-17 2 views
0

У меня есть приложение для Windows Phone 8 с использованием XAML/C#. В моем приложении есть ItemsControl, который основан на шаблоне данных. Мой DataTemplate выглядит следующим образом:Windows Phone Context Menu Пункт Текст Не отображается

<DataTemplate x:Key="myTemplate"> 
    <Grid Margin="0,0,0,8"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition Width="Auto" /> 
    </Grid.ColumnDefinitions> 

    <Grid VerticalAlignment="Center"> 
     <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="Auto" /> 
     </Grid.RowDefinitions> 

     <TextBlock Text="{Binding DisplayName}" TextWrapping="NoWrap" Style="{StaticResource PhoneTextLargeStyle}" TextTrimming="WordEllipsis" > 
     <toolkit:ContextMenuService.ContextMenu> 
      <toolkit:ContextMenu> 
      <toolkit:MenuItem x:Name="customerMenuItem" Foreground="White" Header="View Customer Profile" Click="customerMenuItem_Click" Tag="{Binding Path=CustomerName}" /> 
      </toolkit:ContextMenu> 
     </toolkit:ContextMenuService.ContextMenu> 
     </TextBlock> 
     <TextBlock Text="{Binding Summary}" TextWrapping="NoWrap" Grid.Row="1" Style="{StaticResource PhoneTextSmallStyle}" /> 
    </Grid> 

    <StackPanel Orientation="Horizontal" Grid.Column="1"><!-- Stuff here --></StackPanel> 
    </Grid> 
</DataTemplate> 

Этот DataTemplate упоминается в основной части моего XAML, как показано здесь:

<Grid x:Name="ContentPanel" Grid.Row="1" Grid.ColumnSpan="2" Margin="12,0,12,0"> 
    <ScrollViewer> 
    <ItemsControl x:Name="myItemsControl" ItemTemplate="{StaticResource myTemplate}" ItemsSource="{Binding Customers}"> 
     <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <StackPanel Orientation="Vertical" /> 
     </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
    </ItemsControl> 
    </ScrollViewer> 
</Grid> 

Обратите внимание, что «инструментарий» пространства имен происходит от CLR-имен: Microsoft.Phone.Controls; сборка = Microsoft.Phone.Controls.Toolkit. Когда я держу палец (или мышь) на TextBlock, появляется контекстное меню. Однако я никогда не вижу слов «Просмотр профиля клиента». Я просто вижу блок-блок, который представляет контекстное меню. Я знаю, что элемент есть. Я знаю, потому что событие customerMenuItem_Click успешно срабатывает. У меня есть MessageBox, где отображается значение тега. Это значение всегда правильно. По какой-то причине текст пункта меню не отображается. Что я делаю не так?

ответ

0

Вы положили Foreground = "White". Контекстное меню на белом фоне. Вот почему вы не видите свой пункт меню.

Смежные вопросы