私はリストビュー内のテキストをセルの上部に揃えようとしています。GridViewRowPresenter内でContentPresenterプロパティをどのように設定しますか?
これは私がこれまで何をやったかである:
データは次のようにバインドされます。
<ListView.ItemContainerStyle>
<Style TargetType="ListViewItem">
<Setter Property="VerticalAlignment" Value="Stretch"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListViewItem">
<Grid>
<GridViewRowPresenter VerticalAlignment="Stretch">
<GridViewRowPresenter.Resources>
<Style TargetType="ContentPresenter">
<Setter Property="Margin" Value="1"/>
<Setter Property="VerticalAlignment" Value="Stretch"/>
</Style>
</GridViewRowPresenter.Resources>
</GridViewRowPresenter>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
:ItemContainer
は、次のようにスタイル設定され
<ListView.View>
<GridView>
<GridViewColumn Width="50">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ListViewItem}},
Converter={StaticResource lviIndexToString}}"
Foreground="White"
VerticalAlignment="Top"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="80">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding LogTime}"
Foreground="{StaticResource ConsoleOrange}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="80">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding MessageType}"
Foreground="{Binding MessageType,
Converter={StaticResource logMsgToColor}}"/>
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Message}"/>
</GridView>
</ListView.View>
ContentPresenters VerticalAlignmentが 'Stretch'に設定されている場合に機能します。しかし、視覚的な木は、ContentPresenterスタイルが何かによってオーバーライドされていることを明らかにしていますが、私の人生は何によるのか理解できません。
誰もがネストされたContentPresentersのプロパティを設定したり、データを表示する方法をより詳細に制御を持っているカスタムGridViewRowPresenterを設定する方法で私を教育する方法任意のアイデアを持っている場合は、私が最もGREATFULだろう。
これは他の場所で回答されていますが、私のgoogle-fu検索(およびここでの検索)では役に立たない解決策が明らかにされていないとお詫び申し上げます。
更新 最後の目標は、最初の3列のテキストをListViewItemの先頭に揃えることです。
簡単な言葉で、または画像で説明しようとしています。 – AnjumSKhan
GridViewRowPresenter内でContentPresenters VerticalAlignmentをストレッチに設定したい – andidegn
私は実際の要件をur listviewに求めています。 – AnjumSKhan