不是依赖项属性,但它对应于依赖项属性
(实际宽度,实际高度)
因此,要绑定到RenderSize,我们可以使用多绑定到(ActualWidth,ActualHeight)
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{x:Static MyConv:SizePartsToSizeConverter.Instance}">
<Binding Path="ActualWidth" RelativeSource="{RelativeSource Self}"/>
<Binding Path="ActualHeight" RelativeSource="{RelativeSource Self}"/>
</MultiBinding>
</TextBlock.Text>
</TextBlock>
public class SizePartsToSizeConverter:IMultiValueConverter
{
private static SizePartsToSizeConverter m_instance = new SizePartsToSizeConverter();
public static SizePartsToSizeConverter Instance { get { return m_instance; } }
public object Convert(object[] value, Type targetType, object parameter, CultureInfo culture)
{
var values = value.Where(x => x is Double).Cast<double>().ToList();
if (values.Count()!=2) return DependencyProperty.UnsetValue;
return new Size(values[0],values[1]);
}
public object[] ConvertBack(object value, Type[] targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}