WPF UI 元素定义了宽度和高度,背景设置为图像画笔,并在运行时将图像源指向一些随机图像。未设置拉伸属性,因此我认为它是发挥作用的默认值“填充”。由于控件大小和图像大小不同,因此在运行时,背景图像画笔会以某种纵横比填充,即在控件内部(视觉上)填充。有没有办法获得这个填充值?
示例代码:
<Grid Width="2000" Height="2000">
<ListBox>
<ListBox.Background>
<ImageBrush ImageSource="{Binding Source={x:Static local:MyModel.Instance},Path=ImageSource,Converter={StaticResource pathImageConverter}}" />
</ListBox.Background>
</ListBox>
</Grid>
如果我使用颜色而不是图像画笔,它会填充整个区域。但如果我使用 5000 * 4000 尺寸的图像,它会稍微拉伸以填充空间(没有倾斜和裁剪)。那不是真正的填充,视觉上我们感觉到列表框边界和图像边界有一个填充。让我尝试对此进行快照。