In XAML, <Grid x:Name="MainGrid3">
, Qui voglio passare MainGrid3
come parametro di IValueConverter
. Come posso fare questo? Come passare il parametro IValueConverter?
7
A
risposta
11
Si dispone di ConverterParameter
all'interno della rilegatura, dove è possibile utilizzare un'altra associazione con ElementName
della griglia.
<Grid Name="MainGrid3"></Grid>
<TextBlock Text="{Binding SomeBinding, Converter={StaticResource SomeConverter}, ConverterParameter={Binding ElementName=MainGrid3}}"></TextBlock>
Edit: Ok, quindi a quanto pare mi sbagliavo, non è possibile utilizzare attacchi all'interno ConverterParameter in quanto non è una proprietà di dipendenza. soluzione di lavoro sarebbe quella di utilizzare x:Reference
in questo modo:
<Grid Name="MainGrid3"></Grid>
<TextBlock Text="{Binding SomeBinding, Converter={StaticResource SomeConverter}, ConverterParameter={x:Reference Name=MainGrid3}}"></TextBlock>
"in cui è possibile utilizzare un altro legame con ElementName". Non vero, poiché la proprietà 'ConverterParameter' di un Binding non è una proprietà di dipendenza, e quindi non può essere vincolata. Vedi qui: http://stackoverflow.com/a/15309844/1136211 – Clemens