Размер элемента управления привязкой WPF

У меня есть StackPanel со списком пользовательских элементов управления, размер которых я хотел бы изменить. Я хотел бы, чтобы пользователь мог перетаскивать ползунок и масштабировать размер элемента управления вверх и вниз.

Есть ли способ привязать ширину элемента управления к значению ползунка? Что-то похожее:

<MyControl Width="{Binding Path=SizeSlider.SelectedValue}"/>

Это возможно? Или я должен просто перебирать элементы управления и вручную устанавливать размер при изменении значения ползунка?


person Daniel Delaney    schedule 22.04.2009    source источник


Ответы (1)


Вы должны быть в состоянии сделать это просто отлично, используя

<MyControl Width="{Binding ElementName=SizeSlider, Path=Value}"/>

Установив только Path, вы предполагаете, что что-то с именем SizeSlider будет существовать в текущем DataContext.

Я сделал это в коде один раз, и это сработало:

var binding = new Binding("Value") { Source = slider };
BindingOperations.SetBinding(b, WidthProperty, binding);
BindingOperations.SetBinding(b, HeightProperty, binding);

Так видимо

<MyControl Width="{Binding Source=SizeSlider, Path=Value}"/>

может быть другой способ сделать это.

person Joey    schedule 22.04.2009