图像源中的 WPF 动态数据绑定
本文关键字:动态 数据绑定 WPF 图像 | 更新日期: 2023-09-27 18:30:07
我做错了什么?
Xaml:
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="26*"/>
<RowDefinition Height="63*"/>
<RowDefinition Height="67*"/>
</Grid.RowDefinitions>
<TextBlock Name ="title" Text="" TextWrapping="NoWrap" Grid.Row="0" Margin="25,10,25,0"/>
<Image Source="{Binding Path=BindImgURL}" HorizontalAlignment="Left" Height="164" Grid.Row="1" VerticalAlignment="Top" Width="306" Margin="152,0,0,0"/>
</Grid>
C# 代码:
private string Id;
private string ImgURL;
public VideoDetails(string Id)
{
InitializeComponent();
this.Id = Id;
DetailsGenerator dg = new DetailsGenerator(Id);
this.ImgURL = "Dynamic source";
this.DataContext = BindImgURL;
MessageBox.Show(BindImgURL);
}
public string BindImgURL
{
get { return ImgURL; }
set
{ ImgURL = value; }
}
显示源正确!由消息框选中,但没有图像我做错了什么?我尝试删除"path="但不起作用
我想你要么想DataContext
设置为this
this.DataContext = this;
或将绑定更改为当前DataContext
<Image Source="{Binding}" .../>
目前,Image
将在当前DataContext
中搜索BindImgURL
,设置为BindImgURL
,这是一个string
与您的问题无关,但我还建议您考虑实现INotifyPropertyChanged
并为BindImgURL
引发PropertyChanged
事件,因为目前,在您设置DataContext
后,UI不会选择对BindImgURL
的任何更改