silverlight IValueConverter
在给datagrid绑定数据的时候 要根据行信息 来控制某一行是否可见 行对象的一个属性为bool类型 根据它来控制的时候 用到了 转换
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<uwayG:UwayDataGrid AutoGenerateColumns="False" Grid.ColumnSpan="5" IsReadOnly="True" Grid.Row="5" Grid.Column="5"
x:Name="gridFormulas" Margin="0,7,0,0" DblClick="gridFormulas_DblClick">
<uwayG:UwayDataGrid.Columns>
<!--<sdk:DataGridTextColumn Binding="{Binding FormulaContent}" Width="180" x:Name="FormulaContent" Header="公式内容" />
<sdk:DataGridTextColumn Binding="{Binding NMinute}" Width="50" x:Name="NMinute" Header="时间"/>
<sdk:DataGridTextColumn Binding="{Binding NCount}" Width="50" x:Name="NCount" Header="次数"/>
<sdk:DataGridTextColumn Binding="{Binding WarnLeavl}" Width="70" x:Name="WarnLeavl" Header="告警级别" />-->
<sdk:DataGridTemplateColumn Width="180" Header="公式内容">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Visibility="{Binding Path=IsEnable,Mode=OneWay,
Converter={StaticResource ConverterTrue2Visibility}}"
Text="{Binding FormulaContent}"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Width="50" Header="时间">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Visibility="{Binding Path=IsEnable,Mode=OneWay,
Converter={StaticResource ConverterTrue2Visibility}}" Text="{Binding NMinute}"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Width="50" Header="次数">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Visibility="{Binding Path=IsEnable,Mode=OneWay,
Converter={StaticResource ConverterTrue2Visibility}}" Text="{Binding NCount}"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
<sdk:DataGridTemplateColumn Width="70" Header="告警级别">
<sdk:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Visibility="{Binding Path=IsEnable,Mode=OneWay,
Converter={StaticResource ConverterTrue2Visibility}}" Text="{Binding WarnLeavl}"></TextBlock>
</DataTemplate>
</sdk:DataGridTemplateColumn.CellTemplate>
</sdk:DataGridTemplateColumn>
</uwayG:UwayDataGrid.Columns>
</uwayG:UwayDataGrid>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class ConverterTrue2Visibility : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
if ((bool)value)
{
return Visibility.Visible;
}
else
{
return Visibility.Collapsed;
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<local:ConverterTrue2Visibility x:Key="ConverterTrue2Visibility">
</local:ConverterTrue2Visibility>
//顺带提一句 如果后台设置bingding 只需要实例化ConverterTrue2Visibility,然后把对象给bingding的convert
作者:
luosm(luosm's Blog on 博客园)
出处:http://www.cnblogs.com/luosm/
本作品由luosm 创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 欢迎转载,但任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请 给我留言。
出处:http://www.cnblogs.com/luosm/
本作品由luosm 创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 欢迎转载,但任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请 给我留言。