C# 在silverlight datagrid中隐藏超链接按钮
使用我的tool.xaml中的以下代码,我得到以下datagridC# 在silverlight datagrid中隐藏超链接按钮,c#,silverlight,mvvm,datagrid,C#,Silverlight,Mvvm,Datagrid,使用我的tool.xaml中的以下代码,我得到以下datagrid <slData:DataGrid x:Name="Customer" ItemsSource="{Binding ReturnedItemAttributes}" AutoGenerateColumns="False" HeadersVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScr
<slData:DataGrid x:Name="Customer" ItemsSource="{Binding ReturnedItemAttributes}" AutoGenerateColumns="False" HeadersVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.VerticalScrollBarVisibility="Visible" MaxHeight="350" MaxWidth="350">
<slData:DataGrid.Resources>
<ResourceDictionary>
<local:HTTPVisibilityConverter x:Key="httpVisibility"/>
<local:VisibilityData x:Key="visibilityValue"/>
</ResourceDictionary>
</slData:DataGrid.Resources>
<slData:DataGrid.Columns>
<local:ExtendedDataGridTextColumn Binding="{Binding Path=Key}" FontWeight="Bold"/>
<local:ExtendedDataGridTextColumn Binding="{Binding Path=Value}" MyVisibility="{Binding Visible, Source={StaticResource visibilityValue}, Converter={StaticResource httpVisibility}, ConverterParameter=Reverse}"/>
<local:CustomDataGridTemplateColumn Width="40" VisibilityBinding="{Binding Visible, Source={StaticResource visibilityValue}, Converter={StaticResource httpVisibility}}">
<local:CustomDataGridTemplateColumn.CellTemplate>
<DataTemplate>
<HyperlinkButton Content="Pdf Link" Height="23" Name="PdfUrl" Width="76" NavigateUri="{Binding Path=Value, Mode=TwoWay}" TargetName="_blank" Margin="5,10,10,7" Foreground="Blue" />
</DataTemplate>
</local:CustomDataGridTemplateColumn.CellTemplate>
</local:CustomDataGridTemplateColumn>
</slData:DataGrid.Columns>
</slData:DataGrid>
我现在只想在cloumn3中显示客户url的pdf超链接
行和隐藏所有其他行。我怎样才能做到呢。这是MVVM设计模式。下面是我希望datagrid显示的内容:
Column1 column2 Column3
name John
CustomerID 1234
Customer_url http://www.test.com pdf
我的值转换器代码如下:
public class HTTPVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool boolVisbility = (value != null) && value.ToString().StartsWith("http");
boolVisbility = (parameter != null) ? !boolVisbility : boolVisbility;
return boolVisbility ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
请花点时间简单地表达一下您的问题。@Zafar我已经编辑了我的原始问题。请让我知道它现在是否更具可读性。很抱歉,您必须使用Silverlight:\是否有人可以在这个问题上指导我。您创建了一个httpVisibilityConverter,它是做什么的?也许你会把密码寄出去?当它达到我想象的效果时,你似乎只需要在你的第三个col的CellTemplate中使用它
public class HTTPVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
bool boolVisbility = (value != null) && value.ToString().StartsWith("http");
boolVisbility = (parameter != null) ? !boolVisbility : boolVisbility;
return boolVisbility ? Visibility.Visible : Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}