包含按钮的堆栈面板不会触发命令 wpf
stackpanel containing button does not fire command wpf
我有一个堆栈面板,其中包含许多元素,包括按钮。我无法通过 ICommands 触发方法。它通过在 Button.Click 事件的代码隐藏中添加事件处理程序来工作。因为,我遵循 MVVM 模式,所以我想触发一个命令。此外,此堆栈面板是我的 listviewitem 的数据模板。
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" IsHitTestVisible="True">
<Button Cursor="Hand" Command="{Binding MoveImageUp}">
<Button.Background>
<ImageBrush ImageSource="..."/>
</Button.Background>
</Button>
<Grid>
<Image Source="{Binding Path=Image}"/>
<TextBlock Height="20" Width="20" Text="{Binding Path=Order}" Opacity="0.8" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</Grid>
<GridSplitter HorizontalAlignment="Center" Padding="1" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
我试过将 IsHitTestVisibile
设置为 true
,但没有用。
没有为按钮设置 DataContext。谢谢@Foggy Finder
<Button Cursor="Hand" Command="{Binding ElementName=ImagesList, Path=DataContext.MoveImageUp}" CommandParameter="{Binding}">
我有一个堆栈面板,其中包含许多元素,包括按钮。我无法通过 ICommands 触发方法。它通过在 Button.Click 事件的代码隐藏中添加事件处理程序来工作。因为,我遵循 MVVM 模式,所以我想触发一个命令。此外,此堆栈面板是我的 listviewitem 的数据模板。
<ListView.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" IsHitTestVisible="True">
<Button Cursor="Hand" Command="{Binding MoveImageUp}">
<Button.Background>
<ImageBrush ImageSource="..."/>
</Button.Background>
</Button>
<Grid>
<Image Source="{Binding Path=Image}"/>
<TextBlock Height="20" Width="20" Text="{Binding Path=Order}" Opacity="0.8" HorizontalAlignment="Left" VerticalAlignment="Top"/>
</Grid>
<GridSplitter HorizontalAlignment="Center" Padding="1" />
</StackPanel>
</DataTemplate>
</ListView.ItemTemplate>
我试过将 IsHitTestVisibile
设置为 true
,但没有用。
没有为按钮设置 DataContext。谢谢@Foggy Finder
<Button Cursor="Hand" Command="{Binding ElementName=ImagesList, Path=DataContext.MoveImageUp}" CommandParameter="{Binding}">