[英]Command binding not working - MVVM Light RelayCommand and XAML issues
我有一个列表框:
<ListBox Grid.Row="1"
x:Name="TestCasesList"
ItemsSource="{Binding TestCases}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid>
<Button Command="{Binding Path=DataContext.ButtonClickCommand_DisplayFailureDetails, ElementName=TestCasesList}"
CommandParameter="{Binding Failures}">
...
我有一个视图模型添加到我的 DataContext:
<Window x:Class="blah.UI.Views.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:design="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
DataContext="{Binding Source={StaticResource Locator}, Path=Main}"
Name="Window">
我有一个视图模型 RelayCommand:
ButtonClickCommand_DisplayFailureDetails = new RelayCommand<List<Failure>>( (param) => Execute_ButtonClickCommand_DisplayFailureDetails(param) );
public RelayCommand<List<Failure>> ButtonClickCommand_DisplayFailureDetails
{
get;
private set;
}
private void Execute_ButtonClickCommand_DisplayFailureDetails( List<Failure> failures )
{
Failures = new ObservableCollection<Failure>(failures);
}
按钮没有触发我的命令,有什么原因吗?
尝试更改命令绑定,如下所示:
<Button Command="{Binding RelativeSource={RelativeSource AncestorType=Window},Path=DataContext.ButtonClickCommand_DisplayFailureDetails}" ...>
通过这种方式,您可以获得使用 ViewModel 实例设置的窗口的DataContext
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.