如何更改DataTemplate中ImageBrush的ImageSource值

时间:2016-02-24 11:05:45

标签: c# xaml win-universal-app

请求帮助我如何动态更改DataTemplate中包含的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>

1 个答案:

答案 0 :(得分:1)

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

请注意,如果您未将Mode=OneWay添加到屏幕上,屏幕上的任何内容都不会更改。由于x:Bind默认设置为Mode:OneTime

而不是ImageSource="{x:Bind image_url}"ImageSource="{x:Bind image_url, Mode=OneWay}"