2009-11-24 10 views
1

Je me demande s'il existe un moyen avec la liaison WPF pour définir la valeur via la liaison et le modifier.WPF - Liaison plus un tweak

Par exemple, j'ont la largeur d'une bordure étant définie sur la toile qui le contient:

Width="{Binding Width, ElementName=mainCanvas, Mode=Default}" 

Parce que je fais une frontière avec des coins arrondis. Canvas.Top et Canvas.Left pour la bordure sont tous deux définis sur -5. Cela rend la frontière 5 trop tôt (vraiment 10 trop tôt avec les coins arrondis de l'autre côté).

est-il un moyen de faire quelque chose de similaire à ceci:

Width="{Binding Width, ElementName=mainCanvas, Mode=Default} + 5" 

Répondre

3

Soit écrire votre propre IValueConverter qui fait cela, et préciser dans la liaison, ou utiliser certains des génériques existants qui vous permettent de intégrer des expressions directement dans XAML - par exemple PyBinding.

+0

PyBinding est un code non libéré. Il n'y a pas de téléchargement pour cela que je pouvais trouver (si elle avait l'air vraiment utile). – Vaccano