WP7: Привязать элемент MenuItem внутри таблицы данных ContextMenu к списку <T> - PullRequest
0 голосов
/ 02 апреля 2011

Я довольно новичок в разработке Xaml (WPF, Sliverlight, WP7).

Вот моя проблема:

У меня есть настроенная кнопка, когда я нажимаю на нее (длительное нажатие или удержание), я хочу открыть определенное контекстное меню, связанное со списком. Это означает, что заголовок menuItem имеет другой текст из-за кнопки, которую мы нажали.

Вот пример кода: Мой список

public class ListTest
{
    private List<string> testList;

    public List<string> TestList
    {
        get { return testList; }
        set { testList = value; }
    }


    public ListTest()
    {
        testList = new List<string>();
        testList.Add("1st Header");
        testList.Add("2nd Header");
        testList.Add("3rd Header");
        testList.Add("4th Header");
    }
}

Моя главная страница WP7

public MainPage()
    {
        InitializeComponent();
        ListTest tst = new ListTest();
        this.DataContext = tst.TestList;
    }

Мой код XAML

 <my:OwnButton IconSource="Image/beer.png" DrinkText="Beer" x:Name="btnBeer1">
                    </toolkit:GestureService.GestureListener>
                    <toolkit:ContextMenuService.ContextMenu>
                        <toolkit:ContextMenu ItemsSource="{Binding}">
                            <toolkit:ContextMenu.ItemTemplate>
                                <DataTemplate >
                                    <toolkit:MenuItem Header="{Binding}" /> 
                                </DataTemplate>
                            </toolkit:ContextMenu.ItemTemplate>

                        </toolkit:ContextMenu>
                    </toolkit:ContextMenuService.ContextMenu>
                </my:OwnButton>

Точно, я думал, что мой пункт menu contextuu будет автоматически заполняться списком, так как этот список установлен как DataContext главной страницы. Когда я запускаю свое приложение, мое контекстное меню пусто. Помощь

1 Ответ

0 голосов
/ 03 апреля 2011

Попробуйте изменить шаблон данных на это:

<DataTemplate >
    <toolkit:MenuItem Header="{Binding TestList}" /> 
</DataTemplate>
...