私はGridViewとして使用しているWPF ListViewを持っています。そこに垂直グリッド線を得る方法はありますか?ListViewの垂直グリッド線
ListViewのMinHeightが指定されているので、GridLineをグリッドの最下部まで移動して空の領域を埋めるようにします。
これはややこしい問題です。解決することは可能ですか?
私はGridViewとして使用しているWPF ListViewを持っています。そこに垂直グリッド線を得る方法はありますか?ListViewの垂直グリッド線
ListViewのMinHeightが指定されているので、GridLineをグリッドの最下部まで移動して空の領域を埋めるようにします。
これはややこしい問題です。解決することは可能ですか?
これは私のやり方です。
<ListView Grid.IsSharedSizeScope="True"
ItemsSource="{Binding Path=MyList,FallbackValue='12345'}" >
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="3*" SharedSizeGroup="col0"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="1*" SharedSizeGroup="col2"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Margin="10,0"
Text="{Binding Path=Name, FallbackValue='Name goes here'}"/>
<Border Grid.Column="1" Margin="0,-2"
BorderBrush="DarkGray"
BorderThickness="0,0,1,0" />
<TextBlock Grid.Column="2" Margin="10,0"
Text="{Binding Path=DateModified, FallbackValue='Date goes here'}"/>
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
SharedSizeGroup
とGrid.IsSharedSizeScope
プロパティは、それを行うためのこの方法の鍵です。 Border
のMargin="0,-2"
プロパティは、分割線が連続した垂直線のように見えるようにします。 2つのテキストブロックに垂直マージンを追加する場合は、境界の負の垂直マージンを増やす必要があります。
これは、均一な大きさの2つの列に縦線を入れて整理しますが、データがない領域には拡張されません。その機能を使用するには、ListViewが最適なオプションではない可能性があります。ビューモデルでMyList
プロパティにいくつかのデータを追加
、MyList
プロパティがプロパティとしてName
とDateModified
を持つクラスのリストまたはコレクションにする必要があります。
これは機能しません。 –
この質問をチェックしましたかhttp://stackoverflow.com/questions/5645078/how-to-put-vertical-lines-for-listviewitem-in-wpf – Habib
これは始まりですが、私が探しているものではありません。グリッド線はヘッダーの下に並んでいませんし、リストビューの一番下まで描画しているようにも見えません –