1

横向きのリストボックスを作成しました。コンテンツをロードすると、stackpanel で、stackpanel のサイズが内部に格納されているコンテンツのサイズに自動的に調整されます。リストボックスでこれを達成するにはどうすればよいですか?

これは、XAML のリストボックス コードです。

<ListBox Name="WebScrollView" 
             Grid.Row="2" 
             ScrollViewer.HorizontalScrollBarVisibility="Auto" 
             SelectionMode="Multiple" 
             ScrollViewer.VerticalScrollBarVisibility="Disabled"
             VerticalContentAlignment="Stretch"
             HorizontalContentAlignment="Stretch" >
        <ListBox.ItemContainerStyle>
            <Style TargetType="ListBoxItem">
                <Setter Property="VerticalContentAlignment" Value="Stretch"/>
                <Setter Property="Height" Value="Auto" />
            </Style>
        </ListBox.ItemContainerStyle>
        <ListBox.ItemsPanel>
            <ItemsPanelTemplate>
                <StackPanel Orientation="Horizontal"
                            VerticalAlignment="Top"
                            HorizontalAlignment="Center"
                            />
            </ItemsPanelTemplate>
        </ListBox.ItemsPanel>           
    </ListBox>
4

1 に答える 1

1

WebBrowser は、CPU とメモリの両方にとって非常に高価なコントロールです。ListBox 内の項目ごとに WebBrowser の個別のインスタンスを作成することは、その理由だけでは悪い考えのように思えます。Html Agility Pack を使用して必要なフィールドを抽出し、それらを TextBlocks やその他のコントロールにバインドすることをお勧めします。また、各アイテムの表示をより細かく制御できます。

http://htmlagilitypack.codeplex.com/

于 2012-04-04T13:56:47.513 に答える