我试图简化将WPF控件绑定到项目中的属性。我希望能够以类似于以下方式的方式调用该方法:
MyList.Bind( x => x.ItemsSource, App.Globals.ItemManager.Items );
我编写了一个扩展方法,该方法可以扩展DependencyObject
并从给定的PropertyInfo正确解析DependencyProperty
(如果存在)。现在,我需要从sourceProperty
解析父对象,以便可以为正确的属性生成路径。
我的问题是,由于我将sourceProperty
作为对象进行传递,所以似乎没有办法使用反射来获取父对象的实例,也没有办法获取属性的{{1} }。我想保持参数列表尽可能整洁,并尽可能接近上面的示例,但是如果没有解决方法,则添加参数就可以了。
这是我当前的代码:
PropertyInfo
}
答案 0 :(得分:0)
这实际上很简单:
driver.get("https://www.phptravels.net/");
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[contains(.,'Flights')]"))).click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='select2-chosen' and contains(.,'Enter City Or Airport')]")))click();
new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='select2-search']/input[@class='select2-input select2-focused']"))).sendKeys("Pune");
用法:
public static void Bind(
this DependencyObject obj, DependencyProperty property, object source, string path)
{
BindingOperations.SetBinding(obj, property, new Binding
{
Source = source,
Path = new PropertyPath(path)
});
}