访问usercontrol中的属性

时间:2015-09-24 14:09:06

标签: user-controls windows-phone-8.1

我创建了一个包含2个属性的用户控件:

  • 网址:图片网址(字符串)
  • 颜色:为图像着色的颜色(System.Windows.Media.Color)

我的XAML可以调用usercontrol:

<myUserControl:MyImageTint Url="Assets/Images/decoration.png" Color="{Binding ImageColor}"/>

usercontrol中有我的代码

public static readonly DependencyProperty UrlProperty = DependencyProperty.Register("Url", typeof(string), typeof(MyImageTint), new PropertyMetadata(string.Empty));
    public static readonly DependencyProperty ColorProperty = DependencyProperty.Register("Color", typeof(Color), typeof(MyImageTint), new PropertyMetadata(null));

    public string Url
    {
        get
        {
            return (string)GetValue(UrlProperty);
        }
        set
        {
            SetValue(UrlProperty, value);
        }
    }

    public string Color
    {
        get
        {
            return (string)GetValue(ColorProperty);
        }
        set
        {
            SetValue(ColorProperty, value);
        }
    }

现在我想使用这个属性来淡化我的图像。 在Url setter中,我可以设置我的图片网址并显示它。但我无法使用颜色来调整图像。该属性为null。

如何在同一个函数中使用此属性?

1 个答案:

答案 0 :(得分:0)

我在usercontrol Loaded事件中将我的图像着色,就像这样,我可以使用我的属性

private void UserControl_Loaded(object sender, RoutedEventArgs e)
{
    TintMyImage(Url, Color);
}

这是最好的方式吗?