0
いくつか試行した後で、自分のコレクション(CollectionViewSource)をマイビューからコンバーターに渡すことができません。 (VisibilityColumn)コレクションからビュー(WPF)をコンバーターに渡します。
Xaml(WPF):ここでは、マイコレクションはソースデータグリッドに配置されています。残念ながら、私は私のコンバータで使用するためにこのソースを回復することはできません。この問題ではマーキングが利用可能です。
<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