<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="22" Width="Auto">
<Image Margin="-2,0,0,0" Source="{Binding Path=ADsPath, Converter={StaticResource ImxConverter}}" HorizontalAlignment="Left" Width="22" />
<TextBlock Margin="20,3,0,0" Text="{Binding Path=DisplayValue}" Width="Auto" />
<Rectangle Fill="White" Stroke="White" Margin="-2,0,-2,0.5" VerticalAlignment="Bottom" Height="1" Width="Auto" />
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
아이디어는 사각형, 얇은 흰색을 제공하는 것이 전체 ListBox Item의 하단을 가로 지르는 선; 그러나 위의 Xaml에서는 ListBox의 전체 너비가 아니라 텍스트만큼 확장됩니다.
모든 하위 요소 또는 Grid에서만 Width = "Auto"를 제거해야합니까? – Nate
필자는 TextBlock의 너비가 자동으로 기본적으로 (확실하지 않은) 것으로 생각하고 사각형에서 제거하고 사각형의 HorizontalAlignment를 늘려서 변경할 수 있다고 생각합니다. – Scott
Edit : Only reason을 참조하십시오. Grid가 DockPanel보다 훨씬 비싸고 Dock Panel이 달성하려는 목표에 훨씬 더 효율적으로 보이기 때문에 Grid over DockPanel을 제안합니다. – Scott