【发布时间】:2010-05-27 09:31:20
【问题描述】:
我是 Silverlight 的新手,遇到绑定问题。
我有一个 ItemsManager 类,它的范围内还有另一个类 Item。
class ItemsManager
{
...
class Item : INotifyPropertyChanged
{
...
private BitmapImage bitmapSource;
public BitmapImage BitmapSource
{
get { return bitmapSource; }
set
{
bitmapSource = value;
if(PropertyChanged != null )PropertyChanged("BitmapSource")
}
}
}
}
我在代码中执行以下操作来测试绑定:
{
ItemsManager.Instance.AddItem("123");
//Items manager started downloading item visual
//part (in my case bitmap image png)
Binding b = new Binding("Source");
b.Source = ItemsManager.Instance.GetItem("123").BitmapSource;
b.BindsDirectlyToSource = true;
Image img = new Image();
img.SetBinding(Image.SourceProperty, b);
img.Width = (double)100.0;
img.Height = (double)100.0;
LayoutRoot.Children.Add(img);
}
一旦加载图像,图像就不会出现。不过,如果我在图像加载源后直接设置,它会显示得很好。
我还注意到 PropertyChanged("BitmapSource") 永远不会触发,因为 PropertyChanged 为空,就像 Image 从未绑定到它一样。
期待您的回音!
【问题讨论】:
标签: silverlight image data-binding