Как я могу связать свои элементы пользовательского интерфейса по горизонтали в WPF? - PullRequest
0 голосов
/ 04 июня 2010


я хочу создать горизонтальный список с этими элементами в wpf. Я уже использую listview как

<ListView Name="marqueeList" Height="300" Width="1000"  ItemsSource="{Binding}">
                        <ListView.ItemsPanel>
                            <ItemsPanelTemplate>
                                <VirtualizingStackPanel Orientation="Horizontal">                                        
                                    <VirtualizingStackPanel Orientation="Vertical">
                                      <VirtualizingStackPanel>
                                            <Label Name="CompanyName" FontWeight="Bold" Content="{Binding CompanyName}"></Label>
                                        </VirtualizingStackPanel>
                                        <VirtualizingStackPanel Orientation="Horizontal">
                                            <Label Name="CurrentPrice" Content="{Binding CurrentPrice}" ></Label>
                                            <Label Name="Deviation" Content="{Binding Deviation}"></Label>
                                        </VirtualizingStackPanel>
                                    </VirtualizingStackPanel>                                        
                                </VirtualizingStackPanel>
                            </ItemsPanelTemplate>
                        </ListView.ItemsPanel>
                    </ListView>

, но выдает исключение "VisualTree of ItemsPanelTemplate должен быть одним элементом". Пожалуйста, помогите в этом

1 Ответ

1 голос
/ 04 июня 2010

Чтобы сделать просмотр списка горизонтальным, сделайте это.

<ListView Name="marqueeList" ItemTemplate="{StaticResource myListViewTemplate}" ItemsSource="{Binding}">
    <ListView.ItemsPanel> 
        <ItemsPanelTemplate> 
            <VirtualizingStackPanel Orientation="Horizontal"></VirtualizingStackPanel> 
        </ItemsPanelTemplate> 
    </ListView.ItemsPanel>
</ListView>

Вы можете поместить весь свой другой контент в шаблон данных

<DataTemplate x:Key="myListViewTemplate">
    <StackPanel> 
        <StackPanel>
            <Label Name="CompanyName" FontWeight="Bold" Content="{Binding CompanyName}"/>
        </StackPanel>
        <StackPanel> 
            <Label Name="CurrentPrice" Content="{Binding CurrentPrice}"/> 
            <Label Name="Deviation" Content="{Binding Deviation}"/>
        </StackPanel> 
     </StackPanel>
</DataTemplate>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...