Thats my le code jusqu'à présent qui ne fonctionne pas:WPF: Aligner derniers deux commandes dans StackPanel/DockPanel sur le côté droit même
<DockPanel >
<Button Content="Start" Command="{Binding Path=FirstDateCommand}" />
<Button Content="Back" Command="{Binding Path=PreviousDateCommand}" />
<DatePicker Width="150"
SelectedDate="{Binding Path=SelectedDate}"
DisplayDateStart="{Binding Path=MinDate}"
DisplayDateEnd="{Binding Path=MaxDate}" SelectedDateFormat="Long" />
<Button Content="Forward" Command="{Binding Path=NextDateCommand}" />
<Button Content="End" Command="{Binding Path=LastDateCommand}" />
<Button Command="{Binding PrintCommand}" Content="Print Planner" />
<Button Command="{Binding ToggleDocumentsCommand}" Content="Show Docs" />
<Button Command="{Binding MaterialExplorerShowCommand}" Content="Browse Docs" />
<Button Command="{Binding LessonPlannerCommand}" Content="Edit Planner" />
<TextBox Text="{Binding SearchText,Mode=TwoWay}" Width="50" />
<Button Command="{Binding FindAllCommand}" Content="Search" />
<DockPanel DockPanel.Dock="Right" HorizontalAlignment="Right">
<TextBlock Text="class code:" VerticalAlignment="Center" />
<ComboBox
ItemsSource="{Binding GroupViewModelList}"
Style="{StaticResource GroupViewModelStyle}"
ItemTemplate="{StaticResource GroupViewModelItemTemplate}"
Width="100"/>
</DockPanel>
</DockPanel>
Comment puis-je régler les 2 derniers contrôles sur la image sur le très bon côté?
MISE À JOUR:
<Grid Name="MainGrid">
<Grid.RowDefinitions>
<RowDefinition Height="40" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Grid Margin="10,10,10,0" Grid.Row="0" Name="ButtonBar">
<StackPanel FocusManager.IsFocusScope="True" Orientation="Horizontal">
<ComboBox
AlternationCount="2"
FontSize="16"
VerticalContentAlignment="Center"
Width="100"
ItemContainerStyle="{StaticResource alternateColor}"
ItemsSource="{Binding Source={x:Static Member=Fonts.SystemFontFamilies}}" x:Name="fontComboFast">
<ComboBox.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel VirtualizingStackPanel.VirtualizationMode="Recycling" />
</ItemsPanelTemplate>
</ComboBox.ItemsPanel>
<ComboBox.ItemTemplate>
<DataTemplate>
<TextBlock Width="100" Text="{Binding}" FontFamily="{Binding }" />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
<!--<View:FormatButtonBar />-->
<View:DateNavigatorView />
<View:LessonPlannerView />
<!--<View:TextFormatBarUC />-->
</StackPanel>
</Grid>
Les 2 contrôles sont dans le LessonPlannerView (UserControl)
A l'intérieur du LessonPlannerView vous trouvez ce code:
...
<Grid >
<DockPanel>
<Button Command="{Binding PrintCommand}" Content="Print Planner" />
<Button Command="{Binding ToggleDocumentsCommand}" Content="Show Docs" />
<Button Command="{Binding MaterialExplorerShowCommand}" Content="Browse Docs" />
<Button Command="{Binding LessonPlannerCommand}" Content="Edit Planner" />
<TextBox Text="{Binding SearchText,Mode=TwoWay}" Width="50" />
<Button Command="{Binding FindAllCommand}" Content="Search" />
<StackPanel x:Name="ClassCodeChooser" Orientation="Horizontal" DockPanel.Dock="Right" HorizontalAlignment="Right">
<TextBlock Text="class code:" VerticalAlignment="Center" />
<ComboBox ItemsSource="{Binding SchoolclassCodeList}"
/>
</StackPanel>
</DockPanel>
</Grid>
</UserControl>
oui la DockPanel extérieure n'est pas étirer toute la largeur et je ne sais pas pourquoi. L'ensemble ButtonBar est dans un UserControl pour le rendre réutilisable et je l'utilise 2 fois. – Elisabeth
J'ai défini HorizontalAlignment = "Stretch" sur le dockpanel, la grille parente, la commande parente parent etc ... son étirement juste quand j'ai fixé une largeur fixe? – Elisabeth
Pouvez-vous montrer l'arbre entier jusqu'à la racine de la fenêtre ou UserControl? L'HorizontalAlignment par défaut est Stretch, vous n'avez donc pas besoin de le définir explicitement. – Josh