Typiquement, vous utiliseriez un contrôle de mise en page intégré approprié à votre scénario (par exemple, utilisez une grille comme parent si vous voulez un redimensionnement relatif au parent). Si vous souhaitez le faire avec un élément parent arbitraire, vous pouvez créer un ValueConverter pour le faire, mais ce ne sera probablement pas aussi propre que vous le souhaiteriez. Cependant, si vous en avez absolument besoin, vous pourriez faire quelque chose comme ceci :
public class PercentageConverter : IValueConverter
{
public object Convert(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
return System.Convert.ToDouble(value) *
System.Convert.ToDouble(parameter);
}
public object ConvertBack(object value,
Type targetType,
object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Que vous pouvez utiliser comme ceci, pour obtenir un enfant textbox de 10 % de la largeur de son parent canvas :
0 votes
Jetez un œil à cette réponse.
0 votes
Utilisez la réponse de cwap et incluez le tb dans une grille en réglant son alignement sur stretch.