如何在数据模板中更改图像画笔的 ImageSource 值
本文关键字:图像 画笔 ImageSource 数据 | 更新日期: 2023-09-27 18:36:08
我请求有关如何动态更改数据模板中包含的ImageBrush的ImageSource值的帮助。
下面是我的 XAML 代码:
<StackPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal">
<TextBlock Text="{x:Bind first_name}"
Name="TxtFirstName"
Margin="10,0,0,0"
FontSize="18" FontWeight="Bold" FontStyle="Italic"/>
<TextBlock Text="{x:Bind last_name}"
Name="TxtLastName"
Margin="10,0,0,0"
FontSize="18" FontWeight="Bold" FontStyle="Italic"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="1" Margin="0,40,0,0" HorizontalAlignment="Left" >
<Ellipse Width="200" Height="200" Name="ProfilePicEllipse">
<Ellipse.Fill>
<ImageBrush x:Name="ProfilePic"
ImageSource="{x:Bind image_url}" />
</Ellipse.Fill>
</Ellipse>
<Image x:Name="ResultImage" Stretch="UniformToFill"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="1" Margin="0,40,0,0">
<TextBlock Text= "{x:Bind profile}"
VerticalAlignment="Center"
Margin="10,0,0,0"
FontSize="18" />
</StackPanel>
</StackPanel>
</ScrollViewer>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
不确定实际问题是什么。但是,看到您已经将源绑定到属性,您始终可以在代码中更改该属性的值。
请注意,如果您不Mode=OneWay
,屏幕上的内容不会有任何变化。因为默认设置x:Bind
Mode:OneTime
所以与其ImageSource="{x:Bind image_url}"
放ImageSource="{x:Bind image_url, Mode=OneWay}"