如何在数据模板中更改图像画笔的 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>

如何在数据模板中更改图像画笔的 ImageSource 值

不确定实际问题是什么。但是,看到您已经将源绑定到属性,您始终可以在代码中更改该属性的值。

请注意,如果您不Mode=OneWay,屏幕上的内容不会有任何变化。因为默认设置x:Bind Mode:OneTime

所以与其ImageSource="{x:Bind image_url}"ImageSource="{x:Bind image_url, Mode=OneWay}"