Список с несколькими столбцами wpf - PullRequest
1 голос
/ 13 июля 2010

Я хочу показать несколько столбцов в списке. Я сослался на следующую ссылку Использование WrapPanel и ScrollViewer для создания списка из нескольких столбцов в WPF .

Проблема:

Я хочу прокрутить содержимое с помощью кнопки повтора. Как управлять полосой прокрутки списка с помощью кнопки.

Код:

  <ListBox Name="lbTrack" ScrollViewer.VerticalScrollBarVisibility="Disabled" ItemsSource="{Binding}">
                        <ListBox.ItemTemplate>
                            <DataTemplate>
                                <StackPanel>
                                    <TextBlock FontSize="14" Margin="10" Text="{Binding TrackName}" />                                    </StackPanel>
                            </DataTemplate>
                        </ListBox.ItemTemplate>
                        <ListBox.ItemsPanel>
                        <ItemsPanelTemplate>
                            <WrapPanel IsItemsHost="True" Orientation="Vertical"></WrapPanel>
                        </ItemsPanelTemplate>
                        </ListBox.ItemsPanel>
                    </ListBox>

1 Ответ

2 голосов
/ 13 июля 2010

Да, это будет работать нормально. Есть ли у вас проблемы с этим?

РЕДАКТИРОВАТЬ: В ответ на обновленный вопрос ... Для программной прокрутки ListBox вы можете использовать платформу автоматизации пользовательского интерфейса. Ниже приведен код Silverlight, который, как я обнаружил, должен работать и для WPF.

var automationPeer = FrameworkElementAutomationPeer.FromElement(element) ??
                     FrameworkElementAutomationPeer.CreatePeerForElement(element);

var scrollProvider = automationPeer.GetPattern(PatternInterface.Scroll) as IScrollProvider;
if (scrollProvider != null) {
    scrollProvider.Scroll(horizontalScrollAmount, verticalScrollAmount);
}

Можно также заставить это работать, указав ScrollBar.LineLeftCommand и ScrollBar.LineRightCommand на ScrollViewer, вложенный в шаблон ListBox, но я не смог заставить это работать, и я не знаю, если бы вы могли сделать это без кода в любом случае.

...