【发布时间】:2011-09-06 17:04:00
【问题描述】:
我有一个小问题,找不到任何解决方案。也许这是 Visual Studio 中的一个问题。
我创建了一个继承自 Image 的新类。然后我覆盖 Source 属性。
class GifImage : Image
{
public new ImageSource Source
{
get { return base.Source; }
set
{
MesssageBox("new source property");
base.Source = value;
}
}
}
如果我在代码中设置 Source
GifImage gifImage = new GifImage();
gifImage.Source = gifimage2;
然后Source将正确设置为GifImage并显示MessageBox。
但如果我在 Xaml-Code 中设置 Source:
<my1:GifImage Stretch="Uniform" Source="/WpfApplication1;component/Images/Preloader.gif" />
然后会设置 Image 的 Source 属性,而 MessageBox 将不会显示。
我的想法是设置 System.ComponentModel.Browsable-Attribute,认为继承 GifImage 类中的属性可能在 Visual Studio 中不可见,它正在使用父类的源属性。
[Browsable(true)]
public new ImageSource Source
但这仍然不起作用。
有人遇到过同样的问题或/和解决方案吗?
【问题讨论】: