如何将绑定设置为ScaleTransform';在C#代码中使用ScaleX(不是XAML)?
我正在尝试将一些图形数据绑定到滑块,以调整代码隐藏中的图形大小。 我尝试了各种方法,但在C#代码中找不到绑定ScaleTransform的ScaleX属性的方法。(我是在运行时代码中生成的,因此没有XAML) 这是我的示例代码,它不起作用如何将绑定设置为ScaleTransform';在C#代码中使用ScaleX(不是XAML)?,c#,data-binding,C#,Data Binding,我正在尝试将一些图形数据绑定到滑块,以调整代码隐藏中的图形大小。 我尝试了各种方法,但在C#代码中找不到绑定ScaleTransform的ScaleX属性的方法。(我是在运行时代码中生成的,因此没有XAML) 这是我的示例代码,它不起作用 Line lR = new Line(); lR.X1 = 0; lR.Y1 = 0; lR.X2 = 150; lR.Y2 = 150; lR.Stroke = new SolidColorBrush(Colors.Blue); lR.StrokeThick
Line lR = new Line();
lR.X1 = 0;
lR.Y1 = 0;
lR.X2 = 150;
lR.Y2 = 150;
lR.Stroke = new SolidColorBrush(Colors.Blue);
lR.StrokeThickness = 2;
ScaleTransform lRSt = new ScaleTransform();
lR.RenderTransform = lRSt;
Slider sliderR = new Slider();
sliderR.Minimum = 1;
sliderR.Maximum = 3;
sliderR.Value = 1;
sliderR.TickPlacement = TickPlacement.BottomRight;
sliderR.TickFrequency = 0.2;
sliderR.IsSnapToTickEnabled = true;
/* Set Binding between Slider and Canvas Children */
Binding sliderRBind1 = new Binding();
sliderRBind1.Source = sliderRBind1;
sliderRBind1.Path = new PropertyPath("Value");
BindingOperations.SetBinding(lRSt, ScaleTransform.ScaleXProperty, sliderRBind1);
首先,需要在XAML中为
ScaleTransform
和滑块提供一个名称
在这种情况下,一个按钮
<Button.RenderTransform>
<ScaleTransform x:Name="btnScaleTransform" />
</Button.RenderTransform>
编辑:
如果要在代码中声明滑块,请使用.Source
而不是.ElementName
var slider1 = new Slider();
grid1.Children.Add(slider1);
var aBinding = new Binding();
aBinding.Source = slider1;
aBinding.Path = new PropertyPath("Value");
谢谢我已经根据你的答案修改了我的代码,但仍然无法让它工作。我已编辑我的问题,并将编辑后的代码发布到我的问题。你能看看问题出在哪里吗?@KMC:ReplacesliderRBind1.Source=sliderRBind1代码>带有sliderRBind1.Source=sliderR代码>
var slider1 = new Slider();
grid1.Children.Add(slider1);
var aBinding = new Binding();
aBinding.Source = slider1;
aBinding.Path = new PropertyPath("Value");