0

リストビュー内のリストビュー項目を動的に整列するにはどうすればよいですか?

-- XAML ではありません --

lv.View = GridView

GridView.Columns.Add(New GridViewColumn With {.Header = "CrewId", .DisplayMemberBinding = New Binding("CrewId")})
GridView.Columns.Add(New GridViewColumn With {.Header = "FirstName", .DisplayMemberBinding = New Binding("FirstName")})
GridView.Columns.Add(New GridViewColumn With {.Header = "LastName", .DisplayMemberBinding = New Binding("LastName")})
GridView.Columns.Add(New GridViewColumn With {.Header = "Country", .DisplayMemberBinding = New Binding("Country")})
GridView.Columns.Add(New GridViewColumn With {.Header = "Rank", .DisplayMemberBinding = New Binding("Rank")})

Try
    lv.ItemsSource = dsCrew.Tables(0).DefaultView
Catch ex As Exception
    MsgBox(ex.Message)
End Try
4

1 に答える 1

1

プロパティを使用して、HorizontalContentAlignmentすべての を揃えることができますListViewItem

lv.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Right;

更新 >>>

ああ、それがこの解決策が機能しなかった理由です...複数の列があります。もちろん、あなたがあなたのコードを見せる前に、私はそれを言うことができませんでした. わかりました、すべての列を右に揃える方法を見つけました...これがあなたの求めているものではないことは理解していますが、より良い解決策が見つかるまでここに追加します:

Style style = new Style(typeof(ListViewItem));
style.Setters.Add(new Setter(ListViewItem.HorizontalContentAlignmentProperty, 
    HorizontalAlignment.Right));
YourListView.ItemContainerStyle = style;

その間に残りを解決できるかもしれません。


更新 2 >>>

OK、オンラインでよく検索しましたが、これが最も近い回答です... WPF ListView コントロールの GridViewColumn 内のテキストを中央揃えおよび右揃えにする方法という記事があります XAML でこれを行う方法を示す Tracy Sells の Web サイト... はい、コードでそれを望んでいたことは知っていますが、ここでいくつかの作業を行う必要があります。

<ListView 
    <ListView.ItemContainerStyle>
        <Style TargetType="ListViewItem">
            <Setter Property="HorizontalContentAlignment" Value="Stretch" />
        </Style>
    </ListView.ItemContainerStyle>
    <ListView.View>
        <GridView>
            <GridViewColumn>
                <TextBlock Text="MyText" TextAlignment="Center" />   
            </GridViewColumn>
        </GridView>
    <ListView.View>
</ListView>

コードの 2 番目のビットを調整して、以下を実装できますItemContainerStyle

Style style = new Style(typeof(ListViewItem));
style.Setters.Add(new Setter(ListViewItem.HorizontalContentAlignmentProperty, 
    HorizontalAlignment.Stretch));
YourListView.ItemContainerStyle = style;

残念ながら、実際にListView. TextAlignmentしたがって、関連する のコンテンツにを設定する方法を見つける必要がありますGridViewColumn。この種のことをコードで行うことはあまり役に立たないことに気付きました。それは単に、これが通常の方法ではないからです。いずれにせよ、パズルの最後の部分を完成させる方法を見つけて頑張ってください。

于 2013-10-18T13:21:05.353 に答える