Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 将XML文件绑定到UserControl_Wpf_Xml_Data Binding_User Controls - Fatal编程技术网

Wpf 将XML文件绑定到UserControl

Wpf 将XML文件绑定到UserControl,wpf,xml,data-binding,user-controls,Wpf,Xml,Data Binding,User Controls,我想将XML文件中的数据绑定到userControl 到目前为止,我已经: XML文件: <?xml version="1.0" encoding="utf-8"?> <testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <pumps> <pump>

我想将XML文件中的数据绑定到userControl

到目前为止,我已经:

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<testData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <pumps>
        <pump>
            <speed value="1200"/>
            <color value="Black"/>
            <heightAndWidth size="50"/>
        </pump>
    </pumps>
</testData>

App.xaml

<Application.Resources>
    <XmlDataProvider x:Key="testDataDataSource" Source="Desktop\testData.xml" d:IsDataSource="True"/>
</Application.Resources>

用户控制:

<Grid x:Name="LayoutRoot">
    <Rectangle x:Name="rect" Fill="{Binding XPath=color}" />
    <TextBlock x:Name="line1" Text="{Binding XPath=speed}" />
</Grid>

和MainWindow.xaml

<Grid x:Name="LayoutRoot" DataContext="{Binding Source={StaticResource testDataDataSource}}">
    <local:RectangleControl  DataContext="{Binding Mode=Default, XPath=/testData/pumps/pump}" />
</Grid>


然而,绑定不起作用。您能指出我做错了什么吗。

您的XPath没有返回包含您试图绑定到的值的属性。请尝试以下方法:

<Grid x:Name="LayoutRoot">
    <Rectangle x:Name="rect" Fill="{Binding XPath=color/@value}" />
    <TextBlock x:Name="line1" Text="{Binding XPath=speed/@value}" />
</Grid>

对!我忘了这是一个属性!谢谢