wpf按钮命令绑定后触发属性更改

时间:2015-05-20 15:07:07

标签: c# wpf mvvm

我的wpf表单中有一个按钮,按钮在mvvm应用程序中有图像文本,当我点击它将附加文件的按钮时,我的要求是当它成功附加时文本被更改为Approve,我想要在将文本更改为“批准”后,为此命令编写另一个命令。

<Button ToolTip="Attach Approval" 
        Height="25" 
        Command="{Binding AddAttachmentCommand}" 
        Margin="5,10,5,10">
    <Button.Style>
        <Style TargetType="{x:Type Button}">
            <!-- Default Content value -->
            <Setter Property="Content">
                <Setter.Value>
                    <StackPanel Orientation="Horizontal">
                        <Image Source="/UILibrary;component/Themes/Default/Images/Attach.PNG"/>
                    </StackPanel>
                </Setter.Value>
            </Setter>

            <!-- Triggered values -->
            <Style.Triggers>
                <DataTrigger Binding="{Binding IsAttachmentAvailable}" Value="True">
                    <Setter Property="Visibility" Value="Visible"/>
                    <Setter Property="Content" Value="Appprove"/>
                </DataTrigger>
                <DataTrigger Binding="{Binding IsAttachmentAvailable}" Value="False">
                    <Setter Property="Visibility" Value="Visible"/>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </Button.Style>

1 个答案:

答案 0 :(得分:3)

如果要在触发器中更改属性(在您的情况下为Command),则必须在样式设置器中初始化该属性。要使代码工作,请从按钮中删除命令属性,并将命令属性添加到样式设置器。

?factor.smooth.interaction