【问题标题】:Binding XML file to a UserControl将 XML 文件绑定到 UserControl
【发布时间】:2010-10-27 14:26:24
【问题描述】:

我想将 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>

但是绑定不起作用。你能指出我做错了什么吗?

【问题讨论】:

    标签: wpf xml data-binding user-controls


    【解决方案1】:

    您的 XPath 未返回包含您尝试绑定的值的属性。试试这个:

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

    【讨论】:

    • 对!我忘了这是一个属性!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2017-01-02
    相关资源
    最近更新 更多