UserControl с выставляемой командой на WPF - PullRequest
1 голос
/ 10 августа 2009

Я создаю панель инструментов с некоторыми кнопками, и я хочу, чтобы каждая кнопка выполняла свою команду в соответствии с ViewModel, прикрепленным к его DataContext, поэтому я создал, если это так:

    public readonly DependencyProperty NewCommandProperty = DependencyProperty.Register(
            "NewCommand", typeof(ICommand),
            typeof(VirtueGridToolbar));

    public ICommand NewCommand
    {
        get
        {
            return (ICommand)GetValue(NewCommandProperty);
        }
        set
        {
            SetValue(NewCommandProperty, value);
        }
    }

    public GridToolbar()
    {
        InitializeComponent();
    }

и xaml элемента управления таков:

<UserControl x:Class="Virtue.Modules.Library.Controls.GridToolbar"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ToolBar Background="Transparent">
        <ToolBar.Items>
            <Button x:Name="NewButton"
                    Width="25"
                    Height="25"
                    ToolTip="Novo"
                    Command="{Binding NewCommand}">
                <Image Source="{DynamicResource NewLarge}" />
            </Button>
            <Button x:Name="EditButton"
                    Width="25"
                    Height="25"
                    ToolTip="Editar">
                <Image Source="{DynamicResource EditLarge}" />
            </Button>
            <Button x:Name="DeleteButton"
                    Width="25"
                    Height="25"
                    ToolTip="Excluir">
                <Image Source="{DynamicResource DeleteLarge}" />
            </Button>
            <Separator />
            <Button x:Name="SaveButton"
                    Width="25"
                    Height="25"
                    ToolTip="Excluir">
                <Image Source="{DynamicResource SaveLarge}" />
            </Button>
        </ToolBar.Items>
    </ToolBar>
</UserControl>

Но когда я добавляю UserControl к другому элементу управления и приписываю команду

<V:GridToolbar NewCommand="{Binding Path=New}" />

команда не выполняется.

Есть предложения?

Tks, Diego

1 Ответ

0 голосов
/ 10 августа 2009

Это дубликат этого ответа (хотя я понимаю, почему не очевидно, что они не связаны).

...