gpt4 book ai didi

WPF 绑定(bind)到元素属性的 XPath 可访问值

转载 作者:行者123 更新时间:2023-12-03 15:46:51 26 4
gpt4 key购买 nike

我想从一个元素的属性绑定(bind)到一个只能用 XPath 访问的值。

该元素是一个由一些 XML 填充的 ComboBox,其属性是 SelectedItem。 SelectedItem 指向一个 XML 元素,我想绑定(bind)到其中的一个子元素的值,可以使用 XPath 访问它。

到目前为止,XAML 看起来像这样:

      <StackPanel Orientation="Vertical" Margin="10,10">
<StackPanel Orientation="Horizontal">
<Label>Partner</Label>
<ComboBox Name="Partner" Margin="10,0"
ItemsSource="{Binding XPath=/Root/Tables/Partners/row}"
ItemTemplate="{StaticResource Partner}"/>
</StackPanel>
<Button Margin="25,15" Name="Submit" Width="100" Height="30" IsDefault="True"
CommandParameter="{Binding ElementName=Partner, Path=SelectedItem}">
Okay
</Button>
</StackPanel>

源 XML 如下所示:

<Root>
<Tables>
<Partners>
<row>
<PartnerID>1</PartnerID>
<Name>FooBar.Com</Name>
</row>
<row>
.
.
.
</row>
</Partners>
</Tables>
</Root>

我的问题是 Button 的 CommandParameter 绑定(bind)到一个包含太多信息的 XmlElement。我想让 CommandParameter 引用子元素,有点像如果我可以使用“XPath=PartnerID”指定额外的向下钻取以返回我真正感兴趣的整数值。

最佳答案

最后我自己弄明白了。解决方案是将按钮的 DataContext 设置为组合框的 SelectedItem,然后将 CommandParameter 设置为 XPath 绑定(bind),如下所示:

<Button DataContext="{Binding ElementName=Partner, Path=SelectedItem}" 
Margin="25,15" Name="Submit" Width="100" Height="30" IsDefault="True"
CommandParameter="{Binding XPath=PartnerID/text()}">Okay</Button>

关于WPF 绑定(bind)到元素属性的 XPath 可访问值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/436333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com