コード例 #1
0
        DataGridRow GetRow(int index)
        {
            var row = (DataGridRow)UsersList.ItemContainerGenerator.ContainerFromIndex(index);

            if (row != null)
            {
                return(row);
            }
            UsersList.UpdateLayout();
            UsersList.ScrollIntoView(UsersList.Items[index]);
            row = (DataGridRow)UsersList.ItemContainerGenerator.ContainerFromIndex(index);
            return(row);
        }
コード例 #2
0
ファイル: MainWindow.xaml.cs プロジェクト: rhymu8354/Bouncer
 private void OnMessagesSelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (Model.SelectedMessage == null)
     {
         return;
     }
     if (Model.SelectedMessage.Userid == 0)
     {
         return;
     }
     Model.User user;
     if (Model.UsersById.TryGetValue(Model.SelectedMessage.Userid, out user))
     {
         Model.SelectedUser = user;
         UsersList.ScrollIntoView(user);
     }
 }
コード例 #3
0
        DataGridCell GetCell(int row, int column)
        {
            DataGridRow rowContainer = GetRow(row);

            if (rowContainer != null)
            {
                DataGridCellsPresenter presenter = GetVisualChild <DataGridCellsPresenter>(rowContainer);

                DataGridCell cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
                if (cell == null)
                {
                    UsersList.ScrollIntoView(rowContainer, UsersList.Columns[column]);
                    cell = (DataGridCell)presenter.ItemContainerGenerator.ContainerFromIndex(column);
                }
                return(cell);
            }
            return(null);
        }