Ich habe ein Problem bei der Größenanpassung des (Text) Inhalts meiner Buttons.WPF ItemsControl stretch FontSize von ButtonContent
Dies ist der Stil meiner Tasten. Nichts besonderes, aber beachten Sie die TextWrapping Eigenschaft!
<Style TargetType="{x:Type Button}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<TextBlock Text="{TemplateBinding Content}" TextWrapping="Wrap"/>
</Setter.Value>
</Setter>
</Style>
definiert ich eine ItemTemplate basiert auf meiner Buttons:
<DataTemplate x:Key="MyItemTemplate">
<Button Content="{Binding Content}" Command="{Binding Command}" FontWeight="Bold" FontSize="{Binding FontSize}"/>
</DataTemplate>
Ich bin eine Liste von Elementen in einer Items mit 3 Spalten zeigt:
<ItemsControl ItemsSource="{Binding MyItems}" ItemTemplate="{StaticResource MyItemTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
Bis zu diesem Zeitpunkt diese ist nichts besonderes. Aber jetzt möchte ich die FontSize aller meiner Buttons maximal ausdehnen, erlaubt das Item mit dem größten Inhalt (alle Items sollten am Ende die gleiche FontSize haben).
Ich habe eine solution gefunden, um die benötigte Größe eines Textes zu berechnen. So könnte ich die maximale FontSize eines Buttons berechnen. Dafür benötige ich aber die tatsächliche Größe eines meiner Buttons (alle haben die gleiche Größe).
Ich habe nicht wirklich eine Idee, wie man die Größe bekommt und mein Problem löst. Wäre toll, wenn jemand eine Idee hat - oder eine ganz andere Herangehensweise.
Ich brauche die Breite, bevor ich irgendwelche Befehle verwenden . – Fruchtzwerg
Ich habe meine Antwort bearbeitet, sodass Sie den Wert für das geladene Ereignis von UserControl erhalten. – Johannes