WPF Xaml-将图像向右对齐
从xaml开始 我有以下资料:WPF Xaml-将图像向右对齐,wpf,xaml,Wpf,Xaml,从xaml开始 我有以下资料: <StackPanel x:Name="Compare" Orientation="Horizontal"> <Label Content="Path to Access DB:" HorizontalAlignment="Left" Margi
<StackPanel x:Name="Compare"
Orientation="Horizontal">
<Label Content="Path to Access DB:"
HorizontalAlignment="Left"
Margin="3"
Width="120"
VerticalAlignment="Center" />
<TextBox x:Name="txtPathToAccess"
HorizontalAlignment="Left"
Height="23"
Margin="3"
Text="{Binding PathToAccessDb}"
VerticalAlignment="Center"
Width="800" />
<Button x:Name="btnFileSearch"
Content="..."
Width="20"
Height="20"
Command="{Binding AccessFileSearchCommand}" />
<Button x:Name="btnComparePiToAccess"
Margin="10,0,0,0"
Content="Compare Pi to Access"
Width="150"
Height="20"
Command="{Binding CompareCommandPiToAccess}" />
<Image Source="/Images/drax_logo.jpg"
Width="100" />
</StackPanel>
如何使图像与堆栈面板的右边缘对齐?我希望标签和按钮位于屏幕(行)左侧,图像位于右侧。使用stackpanel无法完成此操作。相反,创建一个包含两列的网格,将图像放在第二列,并将
水平对齐设置为右侧
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" x:Name="Compare"
Orientation="Horizontal">
<Label Content="Path to Access DB:"
HorizontalAlignment="Left"
Margin="3"
Width="120"
VerticalAlignment="Center" />
<TextBox x:Name="txtPathToAccess"
HorizontalAlignment="Left"
Height="23"
Margin="3"
Text="{Binding PathToAccessDb}"
VerticalAlignment="Center"
Width="800" />
<Button x:Name="btnFileSearch"
Content="..."
Width="20"
Height="20"
Command="{Binding AccessFileSearchCommand}" />
<Button x:Name="btnComparePiToAccess"
Margin="10,0,0,0"
Content="Compare Pi to Access"
Width="150"
Height="20"
Command="{Binding CompareCommandPiToAccess}" />
</StackPanel>
<Image Grid.Column="1"
HorizontalAlignment="Right"
Source="/Images/drax_logo.jpg"
Width="100" />
</Grid>
希望这有帮助。使用stackpanel无法做到这一点。相反,创建一个包含两列的网格,将图像放在第二列,并将水平对齐设置为右侧
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" x:Name="Compare"
Orientation="Horizontal">
<Label Content="Path to Access DB:"
HorizontalAlignment="Left"
Margin="3"
Width="120"
VerticalAlignment="Center" />
<TextBox x:Name="txtPathToAccess"
HorizontalAlignment="Left"
Height="23"
Margin="3"
Text="{Binding PathToAccessDb}"
VerticalAlignment="Center"
Width="800" />
<Button x:Name="btnFileSearch"
Content="..."
Width="20"
Height="20"
Command="{Binding AccessFileSearchCommand}" />
<Button x:Name="btnComparePiToAccess"
Margin="10,0,0,0"
Content="Compare Pi to Access"
Width="150"
Height="20"
Command="{Binding CompareCommandPiToAccess}" />
</StackPanel>
<Image Grid.Column="1"
HorizontalAlignment="Right"
Source="/Images/drax_logo.jpg"
Width="100" />
</Grid>
希望这能有所帮助。StackPanel
使其中的所有元素使用尽可能少的空间。如果要填充到面板的最大边缘,可以使用DockPanel
,它可以选择某个元素将停靠的位置,或者使用具有固定列和行的Grid
。StackPanel
使其中的所有元素使用尽可能小的空间。如果要填充到面板的最大边缘,可以使用DockPanel
,它可以选择某个元素将停靠的位置,或者使用具有固定列和行的Grid
。实际上不需要两列。水平对齐也适用于单个柱。Yeap。这只是方法之一。当然,这也可以使用dockpanel来完成,实际上不需要两列。水平对齐也适用于单个柱。Yeap。这只是方法之一。当然,这也可以使用dockpanel来完成。