/ / WPF Control Positionierungsschwierigkeiten - wpf, xaml

WPF Control Positionierungsschwierigkeiten - wpf, xaml

Ich versuche etwas zu tun, das extrem einfach sein soll, aber es sind jetzt 3 Stunden, in denen ich ...

Ich versuche 2 Knöpfe "OK" und "Abbrechen" nebeneinander zu haben, aber es funktioniert nicht. Was auch immer ich auf dem Abbrechen-Button mache, macht es unsichtbar.

<Grid x:Name="LayoutRoot" Height="242">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.723"/>
<ColumnDefinition Width="0.128"/>
<ColumnDefinition Width="0.149*"/>
<ColumnDefinition Width="0.14"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.291*"/>
<RowDefinition Height="0.12*"/>
<RowDefinition Height="0.413*"/>
<RowDefinition Height="0.176*"/>
</Grid.RowDefinitions>
<Label Grid.Row="0" Content="Please click the link next to get content." Background="{x:Null}" Foreground="#FFFFFFFF" Grid.Column="1" Margin="0,2,4,2" Grid.ColumnSpan="2"/>
<TextBlock Grid.Row="1" Grid.ColumnSpan="3">
<Hyperlink x:Name="hlLicense" Click="hlLicense_Click" TextDecorations="Underline" NavigateUri="Http://www.google.com" Foreground="#FFD24A4A">
<Run Text="Http://www.google.com"/>
</Hyperlink>
</TextBlock>
<TextBox Text="" TextWrapping="Wrap"  AcceptsReturn="True" x:Name="tbLicense" VerticalScrollBarVisibility="Auto" Grid.Row="2" Grid.ColumnSpan="3"/>
<TextBlock Foreground="Red"  Name="messageLabel" Grid.Column="0" Text="" TextWrapping="WrapWithOverflow" Grid.Row="3" Grid.ColumnSpan="3" />
<Button Content="OK"  Grid.Row="3" Grid.Column="2" Width="87.083" Height="25.277" x:Name="btnActive"  Click="btnActive_Click"     />
<Button Width="87.083" Content="Cancel" IsCancel="True" Grid.Column="3" d:LayoutOverrides="Width" Margin="0,0,0,0" HorizontalAlignment="Right" Grid.Row="3"  />

</Grid>

Vielen Dank John

Antworten:

0 für die Antwort № 1

Dies hat mit Ihren ColumnDefinition-Breiten zu tun. Wenn Sie diese herausnehmen, wird sie fein gezeichnet. Ihre Breite ist zu klein, und die Breite der OK-Spalte ist auf * gesetzt, sodass sie automatisch den zusätzlichen Platz ausfüllt.

Dadurch wird Ihre Abbrechen-Schaltfläche angezeigt, da die Spalte automatisch angepasst wird:

    <Grid.ColumnDefinitions>
<ColumnDefinition Width="0.723"/>
<ColumnDefinition Width="0.128"/>
<ColumnDefinition Width="0.149*"/>
<ColumnDefinition Width="0.14*"/>
</Grid.ColumnDefinitions>

Ich weiß nicht, ob das genau das ist, was Sie wollen, aber Sie können damit arbeiten, um genau das zu tun, was Sie brauchen.