gpt4 book ai didi

wpf - 按钮命令未在 ListView 组标题中触发

转载 作者:行者123 更新时间:2023-12-02 03:32:38 26 4
gpt4 key购买 nike

我有一个带有可扩展标题的 ListView ,这可以正常工作,但是当我在其中添加按钮时,它不会触发关联的命令。

<ControlTemplate>
<Expander IsExpanded="True">
<Expander.Header>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Name}" Name="txtX" FontWeight="Bold" Foreground="Gray" FontSize="22" VerticalAlignment="Bottom" />
<Button Content="Add Task List" Width="150" HorizontalAlignment="Right" Command="{Binding XCommand}"/>
</StackPanel>
</Expander.Header>
<ItemsPresenter />
</Expander>
</ControlTemplate>

页面上的所有其他按钮都会正确向我的 View 模型发出命令,因此我会冒险猜测它与 xaml 相关,或者与每个分组动态创建按钮的方式相关。

*编辑

只需为上下文添加一些相关的 View 模型代码。如果我在 ListView 之外添加一个相同的按钮,它会触发该命令。 A link to an image of the whole xaml.

#Region "Properties"
Public Property XCommand As ICommand
#End Region

#Region " Constructors"
Public Sub New(ByVal regionManager As IRegionManager, _
ByVal container As IUnityContainer)
XCommand = New RelayCommand(AddressOf DoSomething)
_regionManager = regionManager
_container = container
End Sub
#End Region

#Region "Command methods"
Private Sub DoSomething()
MessageBox.show("Test")
End Sub
#End Region

关于如何使其正常工作有任何帮助吗?

谢谢!

最佳答案

当您在 GroupItem 样式内进行绑定(bind)时,您将绑定(bind)到 GroupItem 的数据上下文。您需要绑定(bind)到 View 模型(ListView 的数据上下文)。您可以使用 RelativeSource 来做到这一点:

<Button Command="{Binding DataContext.XCommand, RelativeSource={RelativeSource AncestorType=ListView}}"
Content="Add Task List" Width="150" HorizontalAlignment="Right" />

关于wpf - 按钮命令未在 ListView 组标题中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975593/

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