SeveralotherquestionsonSO 같은 결론을 내 렸습니다 - ItemsControl
와 ItemsControl
를 사용하여 각 항목이 그리드와 비슷하게 배치되도록했습니다 (특히 서식을 지정할 때). a ListView
.레이아웃 동안 ItemsControl 의사 그리드 열의 춤/점프를 중지하는 방법
코드는 다음과 유사합니다.
<StackPanel Grid.IsSharedSizeScope="True">
<!-- Header -->
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Column2" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="Column Header 1" />
<TextBlock Grid.Column="1" Text="Column Header 2" />
</Grid>
<!-- Items -->
<ItemsControl ItemsSource="{Binding Path=Values, Mode=OneWay}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Column1" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Column2" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding ColumnProperty1}" />
<TextBlock Grid.Column="1" Text="{Binding ColumnProperty2}" />
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
ItemsSource
이 바인딩 된 개체를 스왑 할 때마다 문제가 발생합니다. -add), 전체 '그리드'가 몇 초 동안 춤을 춥니 다.
아마도 Auto
-width 열을 모두 일치 시키려면 몇 가지 레이아웃 단계를 거쳐야 할 것입니다.
이것은 사용자들에게 매우 혼란스럽고 그것을 정리하고 싶습니다. 다른 사람이 본 적이 있습니까?
나는 똑같은 문제를 겪고 있습니다. 이것에 대한 해결책을 얻었습니까? –
@Rick : 불행히도 아니, 나는 여기서 일어나는 일을 결코 해결하지 못했습니다. 물론 난 고정 된 너비의 열을 선택했기 때문에 짜증이났다. 물론 다른 문제가 생겨났다. 제 경우에는 더 나쁜 것이 었습니다. –
@Rick, WinForms에서 호스팅 했습니까? 이것을위한 재판을받는 것이 좋을 것입니다. .NET의 어떤 버전을 사용하고 있습니까? 3.5 (SP1 이전)을 사용하고있었습니다. –