@xXNullXx

Почему не вызывается команда из DataTemplate?

Доброго времени суток!

В UserControl есть ресурсы. В частности этот:
<DataTemplate x:Key="task1">
            
            <Grid
                Margin="2.5"
                Height="60">

                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*"/>
                    <ColumnDefinition Width="30"/>
                </Grid.ColumnDefinitions>

                <StackPanel>

                    <Label
                        Content="{Binding Name}"
                        HorizontalAlignment="Center"/>
                    
                    <Label
                        Content="{Binding CreationDate}"
                        Width="auto"/>

                    <DockPanel
                        Grid.Column="1">

                        <Label
                            Content="Заплонированно на: "/>
                        <Label
                            Content="{Binding DateTask}"/>

                    </DockPanel>
                </StackPanel>

                <StackPanel
                    Grid.Column="1">

                    <Button
                        CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}">
                        <iconPacks:PackIconModern Width="15" Height="15" Kind="Edit" />
                    </Button>

                    <Button
                        Margin="0, 2.5, 0, 0"
                        Command="{Binding DeleteTaskCommand}"
                        CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}">
                        <iconPacks:PackIconModern Width="15" Height="15" Kind="Delete" />
                    </Button>

                </StackPanel>
            </Grid>
        </DataTemplate>


В данном случае интересует вот эта часть:
<StackPanel
                    Grid.Column="1">

                    <Button
                        CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}">
                        <iconPacks:PackIconModern Width="15" Height="15" Kind="Edit" />
                    </Button>

                    <Button
                        Margin="0, 2.5, 0, 0"
                        Command="{Binding DeleteTaskCommand}"
                        CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}">
                        <iconPacks:PackIconModern Width="15" Height="15" Kind="Delete" />
                    </Button>

                </StackPanel>


Собственно 2 кнопка.
Забиндил команду:
#region Команды

        private ICommand _deleteTaskCommand;



        public ICommand DeleteTaskCommand 
        { 
            get
            {
                _deleteTaskCommand = new DelegateCommand<object>(DeleteTask);

                return _deleteTaskCommand;
            }
        }

        #endregion Команды



        private void DeleteTask(object task)
        {
            ListBoxItem listBoxItem = (ListBoxItem)task;
            listBoxItem.Focus();

            switch (SelectedItemTasksToComplete.Status)
            {
                case "На выполнение":
                    TasksToComplete.Remove(TasksToComplete[IdItemTasksToComplete]);
                    break;
            }
        }


Ошибок привязки не нашел, так как работает все кроме команд. Биндил значение в свойство Content и все выводило. Пробовал без парметра команды, результат никакой. Даже при запуске приложения он не проходит по этой команде. В чем может быть причина?
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 40 000 до 110 000 ₽
ЧИТАЙ-ГОРОД Москва
от 130 000 до 180 000 ₽
ПРОФЭЛИТ Казань
от 100 000 до 170 000 ₽
04 апр. 2020, в 21:01
35000 руб./за проект
04 апр. 2020, в 20:32
5000 руб./за проект