2013-04-03 14 views
11

Ich versuche, eine Schaltfläche in XAML mit einer Breite von 80% zu erstellen, aber ich kann nicht herausfinden, wie. Es ist anscheinend nicht so einfach wie Width = "80%". Ich habe gedacht, dass dies getan werden kann, indem man die Bildschirmbreite irgendwie erkennt und mit 0,8 multipliziert und das als die Breite verwendet, aber ich bin nicht sicher, wie ich das in XAML tun kann. Vielleicht muss das in der .cs-Datei gemacht werden und dann die Breite von dort anpassen. Hat jemand eine Lösung dafür?Wie setze ich XAML Width in Prozent?

Antwort

32

Ist es WPF?

Wenn ja, dann wickeln Sie Ihr Steuerelement (Schaltfläche) im Raster. Geben Sie dann die Rasterspaltedefinition an. Beispiel:

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="0.2*"></ColumnDefinition> 
    <ColumnDefinition Width="0.8*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Button Grid.Column="1" Grid.Row="0"></Button> 
</Grid> 

Edit: Vergessen <Button> Tag zu schließen.

+0

Fehler Einen Wert vom Typ ‚Button‘ hinzugefügt werden kann, nicht zu einer Sammlung oder Wörterbuch des Typs 'ColumnDefinitionCollection'. Ich erhalte diesen Fehler, ohne die Grid-Attribute zur Schaltfläche hinzuzufügen. Und sobald ich Grid schreibe. Die intelliSense gibt mir nur d :, local :, mc :, x :, xml: und xmlns als gültige Auswahl. Versuchen herauszufinden, ob das WPF, aber AFAIK es ist oder nicht. – Tom

+0

Vielleicht brauche ich eine Include/Verwendung in der Abschnitt? Ich möchte ein Schema hinzufügen? – Tom

+1

Geben Sie Ihre Schaltfläche nicht in den -Block ein. Setzen Sie es in Block, aber nicht in Block. – Fendy

0

Ich denke, je mehr richtige Art und Weise

<Grid> 
    <Grid.ColumnDefinitions> 
    <ColumnDefinition Width="2*"></ColumnDefinition> 
    <ColumnDefinition Width="10*"></ColumnDefinition> 
    </Grid.ColumnDefinitions> 
    <Button Grid.Column="1" Grid.Row="0"></Button> 
</Grid> 

12 Gitterverteilung wie Bootstrap wäre, es ist nur über Ihre Präferenz

Verwandte Themen