我想創建一個自定義的圖像控件,因爲我必須根據某些事件來操作它的源代碼,我也會有相當大數量的這種控件。爲此,我決定將我的類(「nfImage」)從Image繼承,並且我希望有一個DP(實際上會反映這些事件),以便將其綁定到視圖模型。我在做:將依賴項屬性添加到從控件繼承的類?
class nfImage : Image
{
public static readonly DependencyProperty TagValueProperty =
DependencyProperty.Register("TagValue", typeof(int), typeof(nfImage), new UIPropertyMetadata(0));
public int TagValue
{
get { return (int)GetValue(TagValueProperty); }
set
{
SetValue(TagValueProperty, value);
if (this.Source != null)
{
string uri = (this.Source.ToString()).Substring(0, (this.Source.ToString()).Length - 5) + value.ToString() + ".gif";
ImageBehavior.SetAnimatedSource(this, new BitmapImage(new Uri(uri, UriKind.Absolute)));
}
}
}
}
問題是它不起作用。如果我從後面的代碼中設置TagValue的值,則會更改源代碼,但是如果從xaml(通過dp)設置它,則不會發生任何事情,綁定也不起作用。我如何實現這一目標?
briliant!非常感謝!! – Taras 2013-02-11 22:26:14