首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XPath绑定在wpf中读取InnerXml

XPath绑定在wpf中读取InnerXml
EN

Stack Overflow用户
提问于 2013-10-01 07:58:51
回答 1查看 4.4K关注 0票数 3

是否有方法在wpf中使用InnerXml绑定来读取整个InnerXml(或OuterXml)?

示例数据提供程序

代码语言:javascript
复制
<XmlDataProvider x:Key="SampleDataProvider" IsInitialLoadEnabled="True" IsAsynchronous="False" XPath="SampleDataProvider">
    <x:XData>
        <SampleData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="">
            <Property ID="BlinkData">
                <Blink>
                    <Property ID="Name">Blink1</Property>
                    <Property ID="Speed">400</Property>
                    <Property ID="Value1">0</Property>
                    <Property ID="Value2">100</Property>
                </Blink>
            </Property>
        </SampleData>
    </x:XData>
</XmlDataProvider>

示例窗口

代码语言:javascript
复制
<TextBox>
    <TextBox.Text>
        <Binding Source="{StaticResource ResourceKey=SampleDataProvider}" XPath="/SampleData/Property[@ID='BlinkData']" />
    </TextBox.Text>
</TextBox>

我希望在文本框中看到整个InnerXml。但不幸的是,我只看到节点值,比如Blink14000100。

我是不是漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-01 09:48:24

好的!我想我找到了答案。wpf中的XPath最初将在内部返回一个XmlNode,这可以通过向绑定语句添加另一个属性Path__来拦截。

例如,

代码语言:javascript
复制
<TextBox Width="100" Height="100">
    <TextBox.Text>
        <Binding Source="{StaticResource ResourceKey=SampleDataProvider}" XPath="/SampleData/Property[@ID='BlinkData']" Path="InnerXml" />
    </TextBox.Text>
</TextBox >

注意绑定语句中将Path属性设置为InnerXml!此外,添加一个转换器,并做你想做的任何事情!

在这里发现了这些信息,http://msdn.microsoft.com/en-us/library/system.windows.data.binding.xpath.aspx

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19110904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档