值不能为null。参数名称:来自WPF按钮绑定数据触发器

值不能为null。参数名称:来自WPF按钮绑定数据触发器,wpf,button,datatrigger,Wpf,Button,Datatrigger,今天我一直在为这个问题绞尽脑汁,当我试图在按钮上绑定一个数据触发器时,我发现了这个问题,但我找不到解决这个问题的方法。按钮包含在绑定到数据集的listview中 这是我的按钮代码: <Button Grid.Row="1" Grid.Column="0" Click="BtnAddToCart_Click" MinWidth="2

今天我一直在为这个问题绞尽脑汁,当我试图在按钮上绑定一个数据触发器时,我发现了这个问题,但我找不到解决这个问题的方法。按钮包含在绑定到数据集的listview中

这是我的按钮代码:

<Button
                    Grid.Row="1"
                    Grid.Column="0"
                    Click="BtnAddToCart_Click" 
                    MinWidth="230">
                        <Button.Style>

                            <Style TargetType="{x:Type Button}">

                                <Setter Property="Visibility" Value="Hidden"/>
                                <Setter Property="Margin" Value="7,5,0,0"/>

                                <Style.Triggers>
                                    <DataTrigger Binding="{Binding Path=OrderQty, Converter={StaticResource GreaterThanZero}}" Value="True">
                                        <Setter Property="Visibility" Value="Visible"/>
                                    </DataTrigger>

                                </Style.Triggers>
                            </Style>

                        </Button.Style>
                        <Button.Template>
                            <ControlTemplate>
                                <WrapPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" >
                                    <WrapPanel.Style>
                                        <Style TargetType="{x:Type WrapPanel}">

                                            <Setter Property="Background" Value="#ec3c42"/>
                                            <Setter Property="TextBlock.Foreground" Value="White"/>
                                            <Style.Triggers>
                                                <Trigger Property="IsMouseOver" Value="True">
                                                    <Setter Property="Background" Value="White"/>
                                                    <Setter Property="Cursor" Value="Hand"></Setter>
                                                    <Setter Property="TextBlock.Foreground"  Value="#ec3c42"></Setter>
                                                </Trigger>

                                            </Style.Triggers>

                                        </Style>
                                    </WrapPanel.Style>
                                    <WrapPanel.Resources>
                                        <Style TargetType="{x:Type TextBlock}">
                                            <Setter Property="Padding" Value="10,10" />
                                            <Setter Property="FontWeight" Value="Bold"/>
                                            <Setter Property="FontSize" Value="15"/>
                                        </Style>

                                    </WrapPanel.Resources>
                                    <TextBlock   VerticalAlignment="Center" HorizontalAlignment="Center" Text="Ajouter aux Commandes"></TextBlock>
                                    <fa:FontAwesome Visibility="Hidden" VerticalAlignment="Center" HorizontalAlignment="Right"  Icon="check">
                                        <fa:FontAwesome.Triggers>
                                            <DataTrigger Binding="{Binding Path=ShowAsChecked}" Value="true">
                                                <Setter Property="Visibility" Value="Visible"></Setter>
                                            </DataTrigger>
                                        </fa:FontAwesome.Triggers>

                                    </fa:FontAwesome>
                                </WrapPanel>
                            </ControlTemplate>
                        </Button.Template>
                    </Button>
它仍然给我错误。我试图查找一些代码示例,但没有找到有关该问题的任何信息(因为错误非常常见,很难判断发生了什么)。

试试看

<fa:FontAwesome Visibility="Hidden" VerticalAlignment="Center" HorizontalAlignment="Right" Icon="check">
    <fa:FontAwesome.Style>
            <Style TargetType="fa:FontAwesome">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=ShowAsChecked}" Value="true">
                        <Setter Property="Visibility" Value="Visible"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
    </fa:FontAwesome.Style>
</fa:FontAwesome>


请正确设置代码格式,并添加ViewModel(或其他表示数据上下文的对象)的代码。它工作起来很有魅力。我一开始试着这么做,但它没有识别出可见性属性。查看您的代码,我意识到我忘了指定style标记的target-type属性。谢谢你的帮助,非常感谢。
Binding="{Binding Path=OrderQty, Converter={StaticResource GreaterThanZero}}
<fa:FontAwesome Visibility="Hidden" VerticalAlignment="Center" HorizontalAlignment="Right" Icon="check">
    <fa:FontAwesome.Style>
            <Style TargetType="fa:FontAwesome">
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Path=ShowAsChecked}" Value="true">
                        <Setter Property="Visibility" Value="Visible"></Setter>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
    </fa:FontAwesome.Style>
</fa:FontAwesome>