Mal*_*are 1 collections wpf visibility mvvm
我在WPF(.NET 3.5)中有这一行:
<ListBox ItemsSource="{Binding Locks}" Style="{DynamicResource FancyListBox}" />
Run Code Online (Sandbox Code Playgroud)
我的期望的行为是,当属性锁(一个ObservableCollection)是null或包含0个元素,显示像一个下面,而不是列表框的标签.
<Label Content="No locks are present" Style="{DynamicResource FancyLabel}" />
Run Code Online (Sandbox Code Playgroud)
我能想到的迄今唯一的解决办法是将锁定属性使用valueconverter可见性(即转换器像CollectionToVisibilityShowIfNull,CollectionToVisibilityShowIfNotNull)绑定,但我不知道这是最好的解决方案.
... Visibility={Binding Locks, Converter={StaticResource CollectiontoVisibilityShowIfNull}} ..
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
这是我通常做的事情:
<Grid>
<ListBox Name="lstLocks" ItemsSource="{Binding Locks}" Style="{DynamicResource FancyListBox}" />
<Label Name="lblNoLocks" Content="No locks are present" Style="{DynamicResource FancyLabel}" Visibility="Collapsed" />
</Grid>
...
<DataTrigger Binding="{Binding Locks.Count}" Value="0">
<Setter TargetName="lstLocks" Property="Visibility" Value="Collapsed" />
<Setter TargetName="lblNoLocks" Property="Visibility" Value="Visible" />
</DataTrigger>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1621 次 |
最近记录: |