0

listview.items に画像を追加していますが、各アイテムの幅を変更する方法があるかどうか疑問に思っていますか? 現在、リストビュー全体にまたがっています。画像の幅にして、行ごとにいくつか収まるようにしたいと思います。

4

2 に答える 2

0

あなたの質問に対する具体的な答えは、ListViewItem として追加した画像アセットにStretch =None を設定するだけでよいということだと思います。たとえば、次の XAML は、その後に表示される表示につながります。

    <ListView x:Name="lv" HorizontalAlignment="Left" Margin="153,206,0,0" VerticalAlignment="Top"  SelectionChanged="lv_SelectionChanged">
        <ListViewItem>
            <StackPanel Orientation="Horizontal">
                <Image Source="/Assets/SmallLogo.png"  Stretch="None" />
                <Image Source="/Assets/SmallLogo.png"  Stretch="None" />
                <Image Source="/Assets/SmallLogo.png"  Stretch="None" />
            </StackPanel>
        </ListViewItem>
        <ListViewItem>
            <Border BorderBrush="Aqua" BorderThickness="1" Background="Red">
                <Image Source="/Assets/Logo.png" Stretch="None" />
            </Border>
        </ListViewItem>
    </ListView>

ここに画像の説明を入力

ただし、これは脆弱なソリューションです。これは、他のコンテナー (ここでは StackPanel など) 内の潜在的に可変数のアイテムを各 ListViewItem に入力する必要があるためです。

探している効果に応じて、GridView や VariableSizedWrapGrid などの代替コントロール アプローチを検討することをお勧めします。ジェリー ニクソンの投稿を見て、より柔軟で魅力的なプレゼンテーションを実現できます。

于 2012-12-12T07:10:23.360 に答える
0

列を追加するとき、列の幅を設定するオプションがあります。

listView1.Columns.Add("Assigned To", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Start Date", 112, HorizontalAlignment.Left);
listView1.Columns.Add("Date Began", 112, HorizontalAlignment.Left);
listView1.Columns.Add("Date Completed", 112, HorizontalAlignment.Left);
listView1.Columns.Add("Due Date", 112, HorizontalAlignment.Left);
listView1.Columns.Add("Description", 375, HorizontalAlignment.Left);
listView1.Columns.Add("CR", -2, HorizontalAlignment.Center);
listView1.Columns.Add("Confirmed By", -2, HorizontalAlignment.Left);
于 2012-12-12T04:12:17.720 に答える