Wie der Titel sagt: Gibt es eine elegante Möglichkeit, bestimmte Spalten in einem dynamischen UniformGrid in der Größe veränderbar zu machen?Elegante Methode zum Aktivieren bestimmter Spalten in einem dynamischen WPF UniformGrid in der Größe veränderbar
Die Details:
Ich habe ein Item und stellen Sie die Itemspaneltemplate vom Typ Uniform sein. Das ItemTemplate ist auf ein benutzerdefiniertes Steuerelement festgelegt, das den Spalteninhalt rendert. Hier
ist der XAML-Auszug:
<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>
Nun, was ich versuche zu erreichen ist, um es möglich zu machen, dass bestimmte Spalten der Größe veränderbar, so dass sich eine statische Breite geben und ermöglichen gleichzeitig die anderen Spalten müssen gleichmäßig in der Breite bemessen sein.
Hat jemand eine Richtung, auf die er mich hinweist? Ich hatte gehofft, zu spezifische kundenspezifische Implementierungen des Rendering des UniformGrid zu vermeiden, gibt es einen schlauen und leichten Weg dies zu tun?
Dank im Voraus in Bezug Ole
Dank Decyclon. Ich habe zuerst ein StackPanel ausprobiert, aber ich hatte Probleme, den Inhalt der "Spalten" automatisch auf die größtmögliche Breite zu skalieren. Am Anfang scheint ein Gitter eine gute Wahl zu sein, aber ist es möglich, es dem Templating zu überlassen, das ein ItemsControl erlaubt? –
Natürlich ist es möglich. Dieser Artikel (http://www.scottlogic.co.uk/blog/colin/2010/11/using-a-grid-as-the-panel-for-an-itemscontrol/) zeigt Ihnen, wie Sie das tun. – decyclone
Sieht so aus, als hättest du meinen Tag gerettet. Danke vielmals. Ich werde es versuchen. –