【发布时间】:2014-08-15 07:37:04
【问题描述】:
我正在使用 SilverLight 数据网格来显示用户信息,我有一个用于打开弹出窗口的链接,目前此按钮显示所有记录,我只想在年龄 > 18 时显示它 如何隐藏某些记录的按钮? 这是我的网格
<sdk:DataGrid x:Name="myDG" ItemsSource="{Binding Pages}"
AutoGenerateColumns="False" HeadersVisibility="All" Grid.Row="2" Grid.ColumnSpan="2"
IsReadOnly="True" CanUserResizeColumns="True" Margin="0" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="ID" MinWidth="100" Binding="{Binding Id}" />
<sdk:DataGridTextColumn Header="Name" MinWidth="100" Binding="{Binding Name}" />
<sdk:DataGridTextColumn Header="Number" MinWidth="100" Binding="{Binding Number}" Width="0.3*" />
<sdk:DataGridTextColumn Header="Gender" MinWidth="100" Binding="{Binding Gender}" Width="0.3*" />
<sdk:DataGridTextColumn Header="Age" MinWidth="100" Binding="{Binding Age}" Width="0.3*" />
<sdk:DataGridTextColumn Header="CREATE DATE" MinWidth="100" Binding="{Binding A}" Width="0.3*" />
<sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<HyperlinkButton x:Name="Type" Content="Hire" Margin="5,5,0,0" >
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<cal:ActionMessage MethodName="Hire" cal:View.Model="{Binding Source={StaticResource VMResource}}">
<cal:Parameter Value="{Binding }" />
</cal:ActionMessage>
</i:EventTrigger>
</i:Interaction.Triggers>
</HyperlinkButton>
</StackPanel>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>
我尝试在我的数据源中添加一个变量名 CanHire 并像这样指定,但它仍然对所有记录可见
<HyperlinkButton Visibility="Binding CanHire">
【问题讨论】:
-
属性
CanHire的类型是什么?bool、Visibility还是别的什么? -
在这种情况下,您需要使用转换器将
true/false转换为Visible/Collapsed。
标签: silverlight datagrid