如何强制将Image Button设置为16×16像素尺寸?
解决方案
核心问题
ImageButton默认带有内边距,且部分平台存在最小尺寸限制,这会导致你设置的HeightRequest/WidthRequest无法完全生效。
解决步骤
- 移除内边距:给ImageButton添加
Padding="0",消除控件内部的空白区域。 - 覆盖最小尺寸限制:设置
MinimumHeightRequest="16"和MinimumWidthRequest="16",打破平台默认的最小尺寸约束。
修改后的ImageButton代码:
<ImageButton Clicked="OnMoveUp" Source="uparrow_16.png" Aspect="AspectFit" HorizontalOptions="Center" VerticalOptions="Center" HeightRequest="16" WidthRequest="16" Padding="0" MinimumHeightRequest="16" MinimumWidthRequest="16"/>
备选方案:用Button嵌套Image
如果上述方法仍不生效,可以改用Button控件嵌套Image,这种方式不受ImageButton的默认样式限制:
<Button Clicked="OnMoveUp" Padding="0" HeightRequest="16" WidthRequest="16" HorizontalOptions="Center" VerticalOptions="Center"> <Button.Content> <Image Source="uparrow_16.png" Aspect="AspectFit"/> </Button.Content> </Button>
内容的提问来源于stack exchange,提问作者chixken_tendies
相关产品推荐
相关产品推荐

