在运行时基于Wpf中的TextBox名称查找TextBox的MVVM属性名称

时间:2017-08-10 11:58:56

标签: wpf xaml

如何查找TextBox在运行时绑定的TextBox MVVM属性名称。

<TextBox Name="txtCityName" Grid.Row="3" Grid.Column="1"   Text="{Binding CityName, UpdateSourceTrigger=PropertyChanged}" Height="40" Width="200"/>

<TextBox Name="CountryName"   Text="None"   Height="40" Width="200" Margin="159,184,158,95"/>

上面是我的两个TextBox。两者都与财产捆绑在一起。 在我运行我的Wpf应用程序时代码背后。

我将所有TextBox名称放在一个文件中。一旦文件加载并给我 TextBox名称我想在运行时获取MVVM属性名称

1 个答案:

答案 0 :(得分:0)

您可以使用TextBox方法检查GetBindingExpression是否受数据限制:

var be = txtCityName.GetBindingExpression(TextBox.TextProperty);
if(be != null && be.ParentBinding != null)
{
    string sourceProperty = be.ParentBinding.Path.Path;
}