После нескольких попыток я не могу передать свою коллекцию (CollectionViewSource) из моего представления в мой конвертер. (VisibilityColumn)Передать коллекции из представления (WPF) в мой конвертер
Xaml (WPF): Здесь моя коллекция расположена в исходном datagrid. к сожалению, я не могу восстановить этот источник для использования в моем конвертере. В этой проблеме имеется маркировка.
<D:DataGridRecherche/>
<D:DataGridTemplate x:Name="Datagrid" Grid.Column="0" Grid.Row="1" Grid.RowSpan="2" ItemsSource="{Binding DataProduits,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}">
<DataGrid.Resources>
<CollectionViewSource x:Key="Currentcollection" Source="{Binding Path=ColumnName}" />
</DataGrid.Resources>
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding Path=Prod_Id}"/>
<DataGridTextColumn Header="Désignation" Binding="{Binding Path=Prod_Des}"/>
<DataGridTextColumn Header="Statut regie" Binding="{Binding Path=Prod_Idsteap}"/>
<DataGridTextColumn Header="Ste. d'appartenance">
<DataGridTextColumn.Visibility>
<Binding Path="Prod_Cloture" Converter="{StaticResource VisibilityColumn}" ConverterParameter="Prod_Cloture" Mode="TwoWay" >
<Binding> <!-- the problem seems to be here -->
<Converters:VisibilityColumn CurrentCollection="{StaticResource Currentcollection}"/>
</Binding>
</Binding>
</DataGridTextColumn.Visibility>
</DataGridTextColumn>
</DataGrid.Columns>
</D:DataGridTemplate>
Конвертер: CollectionViewSource (CurrentCollection) должен быть связан с моим представлением.
class VisibilityColumn : IValueConverter
{
public CollectionViewSource CurrentCollection { get; set; }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
List<string> castedCollection = (List<string>)CurrentCollection.Source;
bool result=castedCollection.Exists(x => x == (string)parameter);
if (result == true)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new Exception("The method or operation is not implemented.");
}
}
Вложенные теги '' не имеют смысла. –
Clemens