Автоматическая прокрутка в поле списка Silverlight

Гораздо быстрее, чем принятый ответ и выглядит неплохо. Принятый ответ выполняет много раз одну и ту же работу несколько раз, потому что он вычисляет разделы для более низких целых чисел несколько раз. Например, когда n = 22, разница составляет 12,7 секунд против 0,0467 секунд .

def partitions_dp(n):
    partitions_of = []
    partitions_of.append([()])
    partitions_of.append([(1,)])
    for num in range(2, n+1):
        ptitions = set()
        for i in range(num):
            for partition in partitions_of[i]:
                ptitions.add(tuple(sorted((num - i, ) + partition)))
        partitions_of.append(list(ptitions))
    return partitions_of[n]

Код по сути такой же, за исключением того, что мы сохраняем разделы с меньшими целыми числами, поэтому нам не нужно вычислять их снова и снова.

14
задан 29 May 2009 в 21:18
поделиться

1 ответ

Используйте метод ScrollIntoView ListBox, передавая последний элемент. Возможно, вам придется вызвать UpdateLayout непосредственно перед тем, как он заработает.

24
ответ дан 1 December 2019 в 07:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: