ActualWidth
またはを渡すコンバーターに scaleTransform をバインドしたいと思いActualHeight
ます。
ここで私がやりたいこと:
<Canvas x:Name="Canevas">
<Canvas.RenderTransform>
<TransformGroup>
<ScaleTransform
ScaleX="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UIElement}},
Path=ActualWidth, Mode=OneWay,
Converter={StaticResource ScaleConverter},
ConverterParameter={Binding Path=ActualWidth}"
ScaleY="{Binding RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UIElement}},
Path=ActualHeight, Mode=OneWay,
Converter={StaticResource ScaleConverter},
ConverterParameter={Binding Path=ActualHeight}}"
/>
</TransformGroup>
</Canvas.RenderTransform>
<Ellipse Canvas.Left="47" Canvas.Top="48" Height="155"
Name="ellipse1" Stroke="Black" Width="174" Fill="#FF00C6C3" />
問題は、これがコンパイルされないことです:
ConverterParameter={Binding Path=ActualHeight}
これらのプロパティをコンバーターのパラメーターとして移動する方法を知りたいですか? 完全な Xaml で解決できますか?
助けてくれて本当にありがとうございます !
コンバーターのソースコード:
public class ScaleConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
double v = (double)value;
var actualSize = (double)parameter; //ActualWidth, ActualHeight
var vScale = v * (1 + (v / actualSize));
return vScale;
}
public object ConvertBack(object value, Type targetType, object parameter,
System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}