gpt4 book ai didi

xaml - 如何在 MVVM 中指定命令绑定(bind)范围?

转载 作者:行者123 更新时间:2023-12-03 10:55:39 25 4
gpt4 key购买 nike

我在搞乱 MVVM 并且在将命令绑定(bind)到按钮时遇到了一些障碍。我在 View (= UserControl) 中有几个按钮,这些按钮是根据我拥有的对象列表生成的。

我的代码如下所示:

(主窗口)

<ItemsControl ItemsSource="{Binding ViewModels}" Margin="12,57,12,12" />

(用户控制)
    <ItemsControl ItemsSource="{Binding AllConnections}" Margin="0,34,0,0">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Button Content="{Binding Password}" Height="23" HorizontalAlignment="Left" Margin="114,12,0,0" Name="button1" VerticalAlignment="Top" Width="75" Command="{Binding Path=ConnectCommand}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>

但是 ConnectCommand 没有被调用,我认为这是因为 XAML 在 AllConnections 绑定(bind)中寻找它,而不是在它应该在的 ViewModels 绑定(bind)中寻找它。我该如何指定?

最佳答案

您应该使用相对源来指定祖先。像这样的东西:

Command = "{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type UserControl}}, Path=ViewModel.CommandToBind}"

关于xaml - 如何在 MVVM 中指定命令绑定(bind)范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8770378/

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