none
Не получается код для команды убрать из cs файла для user control RRS feed

  • Вопрос

  • Здравствуйте. Подскажите пожалуйста как сделать чтобы код для команды находился не в файле cs для xaml юзерконтрола а вообще в другом классе.

    Тоесть я делаю так 

    <UserControl x:Class="PluginDll.TestUserControl"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presenta.."
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibilit.." 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:local="clr-namespace:PluginDll"
    —------------------------------------------------------------
    08:13:05	
    <UserControl.CommandBindings>
    <CommandBinding Command = "{x:Static local:MyOtherCommand.GetRaskladka}"
    Executed="ExecutedCustomCommand"
    CanExecute="CanExecuteCustomCommand" />
    </UserControl.CommandBindings>
    ------------------------------------------------
    <Button Content="Моя комманда" Grid.Row="5" Grid.Column="0" Background="Coral" FontSize="24" Height="100" Command ="{x:Static local:MyOtherCommand.GetRaskladka}"></Button>

    MyOtherCommand

    это как раз класс в котором создается команда, вот этот класс 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Input;
    
    namespace PluginDll
    {
    public class MyOtherCommand
    {
    public static RoutedCommand GetRaskladka = new RoutedCommand();
    
    private void ExecutedCustomCommand(object sender,
    ExecutedRoutedEventArgs e)
    {
    MessageBox.Show("Custom Command Executed!!!!!");
    }
    
    // CanExecuteRoutedEventHandler that only returns true if
    // the source is a control.
    private void CanExecuteCustomCommand(object sender,
    CanExecuteRoutedEventArgs e)
    {
    Control target = e.Source as Control;
    
    if (target != null)
    {
    e.CanExecute = true;
    }
    else
    {
    e.CanExecute = false;
    }
    }
    
    }
    }
    но при компилировании выдается ошибка что не найдены методы 

    ExecutedCustomCommand

    и

    CanExecuteCustomCommand

    в классе

    TestUserControl
    он видимо ищет их в классе 
    TestUserControl

    • Изменено Timur2008 27 марта 2014 г. 4:26
    27 марта 2014 г. 4:20