其他数据绑定有效时,命令绑定不起作用

时间:2015-06-30 15:53:53

标签: c# wpf data-binding binding wpf-controls

我正在使用Jarloo's calendar control并在其上添加一些更改以满足我的需求。我很长一段时间以来一直在努力解决这个问题,而且我不知道可能是什么原因导致我的问题。

所以,我的问题是我的Command的所有绑定都没有起作用。

<ListView Background="White"
          SelectionMode="Single"
          dd:DragDrop.DropHandler="{Binding}" 
          dd:DragDrop.IsDropTarget="True"
          dd:DragDrop.UseDefaultDragAdorner="True" 
          ItemsSource="{Binding Typologies}" 
          IsEnabled="{Binding Enabled}">
    <ListView.InputBindings>
        <KeyBinding Key="Delete" Command="{Binding CancelDispatchCommand}" CommandParameter="{Binding SelectedItem}"/>
    </ListView.InputBindings>
....
</ListView>

这里,键绑定不起作用但是{Binding Typologies}和其他DATA绑定都运行良好。这使我认为它不是一个datacontext问题。

<Button DockPanel.Dock="Left" Margin="0,0,10,0" Content="&lt;&lt;" Command="{Binding ChangeDateCmd}" CommandParameter="YEAR,PREV"/>

在这里,我的命令绑定完全不起作用:

<TextBlock Padding="5" Text="{Binding TargetDate, Converter={StaticResource DateConverter}, ConverterParameter=MONTH}"/>

工作得很好......

在day.cs:

private ICommand cancelDispatchCommand;
public ICommand CancelDispatchCommand
{
    get
    {
        return cancelDispatchCommand = cancelDispatchCommand ?? new ActionCommand((o) => CancelDispatch(o));
    }
}

在calendar.cs中:

ICommand changeDateCmd;
public ICommand ChangeDateCmd
{
    get
    {
        return changeDateCmd = changeDateCmd ?? new ActionCommand((o) => ChangeDate(o));
    }
}

1 个答案:

答案 0 :(得分:0)

您不需要将{Binding}与命令名一起使用。

Here就是一个例子