绑定到后面的代码中的width属性

时间:2011-05-16 20:14:04

标签: wpf binding code-behind

我遇到需要使用一个按钮创建View框的情况。对此的xaml如下:请观察viewbox的Width属性。宽度应根据滑动条增加/减少(向右移动增加它,向左移动减小它)。如下所示我知道如何在xaml中执行它并且它工作正常。但我的要求是能够在后面的代码中创建视图框并为其分配属性。

 <WrapPanel x:Name="_wrpImageButtons" Grid.IsSharedSizeScope="True"
           ScrollViewer.CanContentScroll="True" d:LayoutOverrides="Height" 
           Margin="5">
    <Viewbox x:Name="_ScaleButton" 
             Width="{Binding Value, ElementName=ZoomSlider}" Stretch="Fill">
         <CustomButton:_uscVCARSImagesButton x:Name="_btnImage1"/>
    </Viewbox>
 </WrapPanel>

感谢。

2 个答案:

答案 0 :(得分:7)

这应该做你想要的:

Viewbox x = new Viewbox();
Binding bnd = new Binding("Value") { ElementName = "ZoomSlider"};
BindingOperations.SetBinding(x, Viewbox.WidthProperty, bnd);
// ... Code to insert the Viewbox into the WrapPanel etc.

答案 1 :(得分:4)

您可以在Code Behind中相对轻松地创建绑定:

var widthBinding = new Binding("Value") { ElementName = "ZoomSlider" };

_ScaleButton.SetBinding(FrameworkElement.WidthProperty, widthBinding);