wpf - 按钮内 StackPanel 的宽度很窄。(WPF)
问题描述
我想制作一个带有类似于以下图像的按钮:
为此,我在 xaml 中编写了以下内容:
<Button
Style="{DynamicResource BotonRedondo2}"
Width ="AUTO"
Cursor="Hand"
Background="#3b5998"
Grid.Column="0">
<StackPanel Width ="Auto" Orientation="Horizontal" >
<Image HorizontalAlignment="Left" Source="/Test;component/Imagenes/face.png"/>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="LOGIN WITH XXXXX" />
<StackPanel>
</Button>
但结果如下:
StackPanel 的宽度与按钮的宽度不匹配。
关于如何解决问题的任何建议?
欢迎评论或提问
更新
也许我应该指出该按钮位于网格的列中,如下所示:
<Grid
Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<Button
Style="{DynamicResource BotonRedondo2}"
Width ="AUTO"
Cursor="Hand"
Background="#3b5998"
Grid.Column="0">
<StackPanel Width ="Auto" Orientation="Horizontal" >
<Image HorizontalAlignment="Left" Source="/Test;component/Imagenes/face.png"/>
<TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" Text="LOGIN WITH XXXXX" />
</StackPanel>
</Button>
<Button
Style="{DynamicResource BotonRedondo2}"
Grid.Column="1"
Width ="Auto"
Background="Orange"
Content="LOGIN2"
Margin="3"/>
</Grid>
如果我删除“自动”,按钮如下所示:
UPDATE 适用于按钮的样式如下:
<Style TargetType="Button" x:Key="BotonRedondo2">
<Setter Property="Background" Value="Blue"/>
<Setter Property="Foreground" Value="White"/>
<Setter Property="Height" Value="35"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="Button">
<Border BorderThickness="0"
Background="{TemplateBinding Background}"
CornerRadius="4">
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
解决方案
在按钮的样式中,它应该这样写:
CornerRadius="4">
<ContentPresenter HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
推荐阅读
- prestashop-1.7 - 新鲜的 prestashop 1.7 安装 curl 超时
- c# - 设置 SipSorcery 服务器
- css - prestashop 1.7 css 文件根据 url 地址显示
- flutter - Flutter iOS 应用程序大小问题:Runner.app 大小约为 450MB。任何人都可以帮助如何减少这种情况?
- android - 设计视图上未显示 EditText 框 - Android Studio
- spring-boot - 在 SpringBoot 中禁用 Hibernate provider_disables_autocommit
- python - python-opencv人脸识别和验证,无需人脸训练
- javascript - 为什么我的收入和支出名称未定义?
- php - 来自 JSON 的 PHP 值
- r - RMarkdown:当 collectcode=TRUE 时,Statamarkdown 会产生不需要的输出