C# 在代码隐藏中绑定到XMLDataProvider

C# 在代码隐藏中绑定到XMLDataProvider,c#,binding,code-behind,xmldataprovider,C#,Binding,Code Behind,Xmldataprovider,我在将带有XPath的XMLDataprovider绑定从Xaml移动到代码隐藏时遇到问题 Labels.xml <?xml version="1.0" encoding="utf-8" ?> <Labels> <btnOne Label="Button1"/> <btnTwo Label="Button2"/> </Labels> 对btnOne内容的绑定工作方式为aspected“Button1”。但是btnTwo被设置为

我在将带有XPath的XMLDataprovider绑定从Xaml移动到代码隐藏时遇到问题

Labels.xml

<?xml version="1.0" encoding="utf-8" ?>
<Labels>
  <btnOne Label="Button1"/>
  <btnTwo Label="Button2"/>
</Labels>
对btnOne内容的绑定工作方式为aspected“Button1”。但是btnTwo被设置为空字符串。输出没有显示错误

谢谢你的建议。

不应该

label.XPath = "btnTwo/@Header";


谢谢有时候很容易;-)
...
private void btnTwo_Loaded(object sender, RoutedEventArgs e)
{
    String Type = sender.GetType().Name;
    if (Type == "Button")
    {
        Button btn = sender as Button;
        Binding label = new Binding("XMLBind");
        XmlDataProvider xmlLabels = (XmlDataProvider)this.FindResource("XMLLabels");
        label.Source = xmlLabels;
        label.XPath = "btnTwo/@Header";
        btn.SetBinding(Button.ContentProperty, label);
    }
}
...
label.XPath = "btnTwo/@Header";
label.XPath = "btnTwo/@Label";