Как программно ссылаться на ячейку Silverlight DataGrid? - PullRequest
0 голосов
/ 15 декабря 2009

В большинстве сеток используется синтаксис, такой как MyGrid [row, col], для программной ссылки на конкретную ячейку.

Как это сделать, скажем, в C # для Silverlight DataGrid? Все примеры я До сих пор видел только XAML.

Спасибо.

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

Прежде всего, вы можете использовать простую сетку. И иметь ссылку на любую ячейку сетки с помощью методов Grid.SetColumn и Grid.SetRow.

Смотрите ссылки: http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.setcolumn.aspx http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.setrow.aspx

Короткий и быстрый пример:

XAML:

<Grid Height="Auto" Name="Mygrid" Width="Auto" />

C #:

string[] _names = new string[] { "first", "second", "three" };

        Mygrid.ShowGridLines = true;

        Mygrid.RowDefinitions.Clear();
        Mygrid.ColumnDefinitions.Clear();

        int rows = 3;
        int cols = 3;
        for (int r = 0; r < rows; r++)
            Mygrid.RowDefinitions.Add(new RowDefinition());
        for (int c = 0; c < cols; c++)
            Mygrid.ColumnDefinitions.Add(new ColumnDefinition());

        for (int c = 0; c < Mygrid.ColumnDefinitions.Count; c++)
        {
            int rowIndex = 0;
            foreach (string s in _names)
            {
                var someControll = new TextBox();
                someControll.Text = string.Format("{0} row in {1} column", s,c);
                someControll.Height = 25;

                Mygrid.Children.Add(someControll);

                Grid.SetRow(someControll, rowIndex);
                Grid.SetColumn(someControll, c);

                rowIndex += 1;
            }
        }
1 голос
/ 15 декабря 2009

Если привязать источник элементов к наблюдаемой коллекции, вы можете получить строки и объем, изменив эту коллекцию.Пользовательский интерфейс автоматически распространяет изменения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...