C# 按模型值设置图元可见性
我想根据文本框元素的绑定设置它们的可见性。C# 按模型值设置图元可见性,c#,wpf,binding,visibility,C#,Wpf,Binding,Visibility,我想根据文本框元素的绑定设置它们的可见性。 例子: 带有两种产品价格值的文本框 <TextBox Grid.Column="1" Grid.Row="3" Text="{Binding PriceProduct0, Mode=TwoWay}" /> <TextBox Grid.Column="2" Grid.Row="3" Text="{Binding PriceProduct1, Mode=TwoWay}" /> 在我的模型中,我从WCF服务查询必要的值,并调用N
例子: 带有两种产品价格值的文本框
<TextBox Grid.Column="1" Grid.Row="3" Text="{Binding PriceProduct0, Mode=TwoWay}" />
<TextBox Grid.Column="2" Grid.Row="3" Text="{Binding PriceProduct1, Mode=TwoWay}" />
在我的模型中,我从WCF服务查询必要的值,并调用NotifyPropertyChanged来更新我的视图。问题:在某些场景中,我的属性没有值。在这种情况下,我想隐藏UI元素。有没有一个简单的方法,也许是举办一个活动 大多数属性都是double或boolean,所以我不能将它们设置为NULL 解决方案:
多亏了艾哈迈德和DHN,我找到了解决办法
以下是所有步骤:
public-double?价格产品0
Microsoft.TeamFoundation.Controls.WPF.Converters
:\Common7\IDE\privatepassemblies\Microsoft.TeamFoundation.Controls.dll
xmlns:myConverters=“clr命名空间:Microsoft.TeamFoundation.Controls.WPF.Converters;assembly=Microsoft.TeamFoundation.Controls”
添加到
属性中
属性:Visibility=“{Binding PriceProduct0,Converter={StaticResource NullToVisibleConverter},ConverterParameter='invert'}”
没有比这更容易的了。只需一个
NullToVisibleConverter
,并将其绑定到UI元素的Visibility
属性。例如
<Window>
<Window.Resources>
<NullToVisibleConverter x:Key="Null2VisConv"/>
</Window.Resources>
<TextBox Visibility="{Binding PriceProduct0, Converter={StaticResource Null2VisConv}}" .../>
</Window>
没有比这更简单的了。只需一个
NullToVisibleConverter
,并将其绑定到UI元素的Visibility
属性。例如
<Window>
<Window.Resources>
<NullToVisibleConverter x:Key="Null2VisConv"/>
</Window.Resources>
<TextBox Visibility="{Binding PriceProduct0, Converter={StaticResource Null2VisConv}}" .../>
</Window>
您可以使用空到可见性转换器。看到这个了吗
您可以使用空到可见性转换器。看到这个了吗
谢谢Ahmed和DHN,但我的属性大多是双精度或布尔值。因此,我不能将它们设置为NULL,或者我理解错了什么吗?通过将它们更改为可为NULL的属性(参见我的帖子)找到了解决方案,感谢Ahmed和DHN,但我的属性大多是双精度或布尔值。因此,我不能将它们设置为NULL,或者我理解错了什么?通过将它们更改为可为NULL的属性找到了解决方案(参见我的帖子)