gpt4 book ai didi

wpf - 用户控件上的 MVVM 多个绑定(bind)

转载 作者:行者123 更新时间:2023-12-03 10:29:57 27 4
gpt4 key购买 nike

我有一个用户控件“SubjectListView”。绑定(bind)设置为“AllSubjects”,它是 SubjectListViewModel 中的 ObservableCollection。它用于检索名称并执行命令。名称被检索,但是同样在 SubjectListViewModel 中的命令不会在按钮上执行,而是在没有在范围之外动态创建的按钮上工作。

有解决办法吗?

<StackPanel>
<ItemsControl ItemsSource="{Binding AllSubjects}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Button Width="100" Content="{Binding Name}" <!-- Is working-->
Command="{Binding InvasionCommand}" <!--Is NOT working--> />
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
<Button Content="Check for Invasion" Width="120" Command="{Binding InvasionCommand}" <!-- Is working-->/>
</StackPanel>

最佳答案

问题是,InvasionCommand在您的 View 模型中(我认为是这样),但您在 ItemsSource 的实际元素中..

为此,我使用 ElementSpy ,但我认为如果你使用RelativeSource ..

在这里您可以了解所有可能的绑定(bind):http://www.nbdtech.com/Free/WpfBinding.pdf

或者,如果您将 StackPanel 命名为 Container ,您可以绑定(bind)以下内容:
Binding ElementName=Container, Path=DataContext

关于wpf - 用户控件上的 MVVM 多个绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9720840/

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