在DomainContext IsLoading时禁用按钮

时间:2011-03-16 21:33:06

标签: c# silverlight-4.0 domaindatasource

只要我的DomainDataSource的 DataContext.IsLoading true ,我就会禁用表单上的按钮。我想将按钮的 IsEnabled 属性绑定到一个!条件 DomainContext.IsLoading ,遗憾的是我不知道如何将其作为条件表达式处理。我可以按照我想要的方式工作,但不是我想要的方式。

我的问题是,我该如何做到这一点:

<Button IsEnabled="{Binding ElementName=someDomainDataSource, Path=DomainContext.IsLoading}" />
实际上是一个!条件(这当然不起作用)这个:

<Button IsEnabled="{Binding ElementName=someDomainDataSource, Path=!DomainContext.IsLoading}" />

1 个答案:

答案 0 :(得分:3)

您可以使用ValueConverter,类似于BooleanInverter,在转换时会反转该值。见MSDN

您的绑定将是

 <Button IsEnabled="{Binding ElementName=someDomainDataSource, Path=DomainContext.IsLoading, Converter={StaticResource BooleanInverter}}" />