2008-12-18 4 views
12

Ist es möglich, einen Konverter innerhalb eines Stils zu verwenden? Zum Beispiel versuche ich, ein gestyltes TextBlock zu erstellen, dessen Text basierend auf der ActualHeight Eigenschaft der TextBlock die Größe ändert. Die Größenänderung würde über einen Konverter erfolgen.Ist es möglich, einen Konverter in einem Stil zu verwenden?

Antwort

26

Ja, das ist möglich. Zum Beispiel:

<Style TargetType="TextBlock"> 
    <Setter Property="FontSize"> 
     <Setter.Value> 
      <Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}"> 
       <Binding.Converter> 
        <MyConverter/> 
       </Binding.Converter> 
      </Binding> 
     </Setter.Value> 
    </Setter> 
</Style> 

auf Ihrem genaues Szenario Je, können Sie auch die prägnanten nutzen können:

<Style TargetType="TextBlock"> 
    <Setter Property="FontSize" Value="{Binding ActualHeight, RelativeSource={RelativeSource Self}, Converter={StaticResource MyConverter}}"/> 
</Style> 
+0

Dank wurde verbindlich - das funktionierte perfekt! –

+0

Süße___________ –

3

ich etwas ähnliches zu bekommen verwaltet von arbeitet mit:

<Setter Property="Text"> 
    <Setter.Value> 
    <Binding Path="CompanyName"> 
     <Binding.Converter> 
     <conv:UppercaseConverter/> 
     </Binding.Converter> 
    </Binding> 
    </Setter.Value> 
</Setter> 

Hoffe, es funktioniert auch für Sie.

Yann

PS - Company ist der Name des aktuellen Ansichtsmodell Eigenschaft ich den Textblock zu