C# 在silverlight datagrid中隐藏超链接按钮

C# 在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

使用我的tool.xaml中的以下代码,我得到以下datagrid

<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();
    }
 }