参数可以传递给WPF用户控件吗?

时间:2014-02-12 01:16:12

标签: c# .net wpf mvvm prism

可以将值或参数传递给WPF用户控件吗?我正在使用MVVM模式。

<local:SampleUserControlView Forecolor="{Binding ForeColor}"/> 

其中

  

ForeColor是View Color中的Type Color或Brush属性   窗口托管SampleUserControl View。

顺便说一句,该属性应该是Color还是Brush?

1 个答案:

答案 0 :(得分:5)

是的,您可以使用dependency properties传递。您可以在您要传递的类型的usercontrol中创建依赖项属性。下面是一个小例子,它将向您展示它是如何工作的。

public static readonly DependencyProperty MyCustomProperty = 
DependencyProperty.Register("MyCustom", typeof(string), typeof(SampleUserControl));
public string MyCustom
{
    get
    {
        return this.GetValue(MyCustomProperty) as string;
    }
    set
    {
        this.SetValue(MyCustomProperty, value);
    }
}

您可以从父虚拟机设置MyCustom,例如

<local:SampleUserControlView MyCustom="{Binding MyCustomValue}"/>