제목 : 동적 UniformGrid의 특정 열을 크기를 조정할 수있는 우아한 방법이 있습니까?동적 WPF UniformGrid에서 특정 열을 활성화 할 수있는 우아한 방법
세부는 :
나는 ItemsControl에이 있고 ItemsPanelTemplate 유형 UniformGrid의로 설정. ItemTemplate은 열 내용을 렌더링하는 사용자 정의 컨트롤로 설정됩니다.
<ItemsControl x:Name="PART_Dimensions"
Grid.Column="1" HorizontalAlignment="Stretch">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="{Binding
Path=ItemsSource.Count,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type ItemsControl}}}"
IsItemsHost="True"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:Dimension
PropertyA="{Binding SourceA}"
ItemsSource="{Binding SourceB}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
이제
, 내가 달성하기 위해 노력하고있어 여전히 허용하면서 특정 열이 그들에게 고정 폭을 제공, 크기 조정, 그것은 가능하게하는 것입니다 : 여기
는 XAML의 발췌 한 것입니다 다른 열은 너비가 균일하게 크기가 지정됩니다.나를 가리키는 누군가가 있습니까? UniformGrid의 렌더링에 대한 너무 특정한 사용자 정의 구현을 피하기를 바랬습니다. 이렇게하는 것이 현명하고 쉬운 방법입니까?
덕분에 관해서 올레
감사합니다 decyclone. 처음에는 StackPanel을 시도했지만, "columns"의 내용을 가능한 가장 큰 너비로 자동 크기 조정하는 데 문제가있었습니다. 처음에는 그리드가 좋은 선택 인 것처럼 보이지만 ItemsControl에서 수행 할 수있는 템플릿 작업을 수행 할 수 있습니까? –
물론 가능합니다. 이 기사 (http://www.scottlogic.co.uk/blog/colin/2010/11/using-a-grid-as-the-panel-for-an-itemscontrol/)에서는이를 수행하는 방법을 보여줍니다. – decyclone
내 하루를 구한 것 같습니다. 고마워. 나는 그것을 시도 할 것이다. –