E 'possibile utilizzare un convertitore all'interno di uno stile?
Domanda
E 'possibile utilizzare un convertitore all'interno di uno stile? Per esempio io sto cercando di creare un TextBlock
stile il cui testo viene ridimensionato in base alla proprietà ActualHeight
del TextBlock
. Il ridimensionamento sarebbe stato fatto tramite un convertitore.
Soluzione
Sì, questo è possibile. Ad esempio:
<Style TargetType="TextBlock">
<Setter Property="FontSize">
<Setter.Value>
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}">
<Binding.Converter>
<MyConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
</Style>
A seconda dello scenario esatto, si potrebbe anche essere in grado di utilizzare il più succinto:
<Style TargetType="TextBlock">
<Setter Property="FontSize" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Converter={StaticResource MyConverter}}"/>
</Style>
Altri suggerimenti
Sono riuscito a ottenere qualcosa di simile al lavoro utilizzando:
<Setter Property="Text">
<Setter.Value>
<Binding Path="CompanyName">
<Binding.Converter>
<conv:UppercaseConverter/>
</Binding.Converter>
</Binding>
</Setter.Value>
</Setter>
Spero che funziona anche per te.
Yann
PS - CompanyName è il nome della proprietà effettiva ViewModel mi era vincolante il blocco di testo a
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow