将Exceed IntegerUpDown值绑定到CommandParameter

时间:2018-06-13 09:43:21

标签: c# xaml exceed integerupdown

我在.xaml文件中使用Exceed IntegerUpDown控件。我想将IntegerUpDown值绑定为按钮的CommandParameter。

我没有任何代码隐藏文件,这是一个自定义控件xaml文件。所以我想通过仅使用xaml systax实现这一点。

<DockPanel>
    <xctk:IntegerUpDown x:Name="ExtraExpressionValue" Increment="1" FormatString="N0" AllowSpin="True" Width="70" Watermark="Numeric" AllowTextInput="False" Minimum="0" Value="999"/>
    <Button Style="{StaticResource ContextMenuButton}" Margin="5,0,0,0" Content="Add" Command="{Binding SetExtaExpressionValueCommand}" CommandParameter="{Binding ElementName=ExtraExpressionValue,Path=Value}"/>
</DockPanel>

上面是我的xaml代码。这返回0到命令方法。

我的命令类如下,

public class DesignItemCommands
{
    private ICommand setExtaExpressionValueCommand;

    public ICommand SetExtaExpressionValueCommand => setExtaExpressionValueCommand ?? (setExtaExpressionValueCommand = new CommandHandler(SetExtaExpressionValue, canExecute));

    private bool canExecute;

    public DesignItemCommands()
    {
        canExecute = true;
    }

    private void SetExtaExpressionValue(object parameter)
    {
        //I need parameter here..
    }
}

1 个答案:

答案 0 :(得分:0)

找不到要求的方法。只是发布在这里,以便稍后帮助某人。

我使用ViewModel变量来绑定IntegerUpDown控件值。

<DockPanel>
    <xctk:IntegerUpDown Increment="1" Value="{Binding ExtraExpressionValue}"/>
    <Button Content="Add" Command="{Binding SetExtaExpressionValueCommand}"/>
</DockPanel>

我的ViewModel如下,

public class DesignItemCommands
{
    private ICommand setExtaExpressionValueCommand;

    public ICommand SetExtaExpressionValueCommand => setExtaExpressionValueCommand ?? (setExtaExpressionValueCommand = new CommandHandler(SetExtaExpressionValue, canExecute));

    private bool canExecute;

    public int ExtraExpressionValue { get; set; }

    public DesignItemCommands()
    {
        canExecute = true;
        ExtraExpressionValue = 1;
    }

    private void SetExtaExpressionValue(object parameter)
    {
        //I can use value here using variable ExtraExpressionValue 
    }
}

希望以后可以帮助别人。