Gleichmäßig große Tasten nach Inhalt der größte Knopf

Vorstellen, ich habe zwei WPF-buttons in einem Fenster, mit Inhalt wie folgt:

<Button>OK</Button>
<Button>Cancel</Button>

Möchte ich diese Schaltflächen sind die gleiche Breite, jedoch in einem Szenario, in dem die Content gebunden ist, um einen lokalen Wert für eine gegebene Benutzer-Sprache, ich weiß nicht, wie breit die Tasten werden müssen, um Platz für den neuen Inhalt.

Wie könnte ich gelten eine minimale Breite, um diese Tasten, so dass die Breite des breitesten ein (nach Inhalt) effektiv genutzt wird, wie die MinWidth von beiden, so halten Sie diese uniform?

Oder um es anders zu sagen: ich möchte nicht die Tasten, um die Breite der container (es sei denn Sie verwenden einen container, in ein cleverer Weg, ist die Antwort auf mein problem), und ich will nicht, dass Sie jeweils nur Größe, um Ihre eigenen Inhalte wegen, dass Sie unterschiedliche Größen. Ich möchte etwas dazwischen. Die mit dem größten Inhalt an die Größe für die Anzeige seiner Inhalte, und alle anderen an Größe zu, die gleiche Breite, also die Breite sind alle gleich.

Erwarte ich die Antwort liegt darin, dass Sie in eine Art von container. Ich weiß, ich könnte mit einem Grid und lassen Sie Sie füllen grid "Zellen", aber der Punkt ist, ich will nicht, dass Sie werden zu breit, entweder. Ich weiß, ich könnte haben einige code-behind -, läuft auf die Content_Changed - Ereignis des buttons und setzt die minwidth zu, dass der breiteste button, aber ich bin daran interessiert, eine Reine xaml-Methode. Es könnte sein, brauche ich zum erstellen eines benutzerdefinierten Steuerelements erweitern ItemsControl dass rusn code-hinter, wenn neue Elemente Hinzugefügt werden oder die Größe neu und gilt für die Breite des breitesten Elements als MinWidth alle anderen Elemente.

Vielen Dank im Voraus.

  • Also Sie sagen, Sie don ' T wollen, verwenden Sie die <ColumnDefinition Width="Auto" /> und die Tasten Width="Auto"?
  • Ich möchte nicht die Tasten, um die Breite der container (es sei denn Sie verwenden einen container, in ein cleverer Weg, ist die Antwort auf mein problem), und ich will nicht, dass Sie die Größe Ihrer Inhalte wegen, dass Sie unterschiedliche Größen. Ich möchte etwas dazwischen. Die mit dem größten Inhalt an die Größe für die Anzeige seiner Inhalte, und alle anderen die Größe, um die gleiche Menge, also die breiten sind alle gleich.
  • Also dann denke ich, dass Ihre Tasten sind alle verstreut auf Ihrer Ansicht, weil wenn nicht, und alles gruppiert, dann die ColumnDefinition wird den trick tun. Wenn Ihr alle zerstreut, ich würde auch gerne wissen, eine gute Lösung für Ihr problem. =)
  • Nein, Sie waren in einer horizontal ausgerichteten stackpanel, in einem klassischen "OK", "Abbrechen" - design. Ich denke, dass H. B. ' s Antwort unten (stackoverflow.com/questions/6249946/...) ist eigentlich das, was Sie sagte, ich hatte noch nicht wirklich Begriffen richtig aus deinem Kommentar, was du meintest. 🙂
  • <ColumnDefinition Width="*"/> benötigt nicht "Auto".
Schreibe einen Kommentar