wpf数据绑定中的问题

时间:2011-08-02 11:35:02

标签: wpf exception data-binding properties onchange

我有文本字段绑定int属性ProductPrice和按钮,如果我在文本框中放入一些错误的数据(例如,数字< = 0),则禁用该按钮:

<TextBox Grid.Row="4" Grid.Column="2"
                 Text="{Binding ProductPrice, ValidatesOnDataErrors=True, UpdateSourceTrigger=PropertyChanged}"
                 Validation.ErrorTemplate="{StaticResource ValidationErrorTemplate}"/>

        <Button HorizontalAlignment="Right" Command="{Binding Path=DataContext.AddProductCommand,
            RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}}"
                Margin="2" Width="60" Grid.Row="6" Grid.Column="2" Content="Add" />

但是如果我在文本框中放入一些文本,那么按钮就不会被禁用。我认为这是因为属性ProductPrice没有改变因为生成了一些异常。这里验证工作正常。我该怎么办?

1 个答案:

答案 0 :(得分:1)

尝试设置{Binding ProductPrice Mode=TwoWay}

BTW,抛出哪个异常?

编辑:回复评论

我看到你有两个选择:

  1. 介绍string ProductPriceValue属性(在封面下使用int类型的原始属性)并将文本框绑定到它
  2. 实施IValueConverter并在绑定中使用它
  3. 只是想知道为什么你没有为double属性

    使用ProductPrice类型