拥有新属性的用户控件

时间:2012-10-19 21:50:10

标签: c# wpf mvvm user-controls

我想创建一个这样的控件:

Control

我创建了此控件的view和viewmodel,并添加了新属性 - “FileURL”。

我想像这样使用这个属性:

<vm:FileSelector FileURL="{Binding Something}"/>

现在这是一个问题:

我的新控件包含按钮和文本框。 我希望FileSelector的属性“FileURL”包含与FileSelector中使用的TextBox的“Text”相同的值。

所以在新控件的XAML声明中我想添加类似的东西:

<UserControl x:Class="namespace.FileSelector"
...
FileURL="{Binding ElementName=txtBoxExampleName, Path=Text}">

但是不允许这种操作。

我不知道如何使用MVVM模式在FileSelector控件中更改属性“FileURL”的值。

1 个答案:

答案 0 :(得分:1)

假设FileURL中的FileURL是DependencyProperty,那么您只需在FileSelector.xaml中执行以下操作:

     <TextBox Text="{Binding FileURL, RelativeSource={RelativeSource FindAncestor, AncestorType=UserControl}}"/>