Метод LoadContent
создает новый экземпляр Xaml, хранящийся в шаблоне. Вы не можете манипулировать содержимым самого шаблона таким образом. Кроме того, я действительно не думаю, что вы хотите этим заниматься.
Если вы действительно хотите манипулировать шириной и высотой границы в шаблоне, используйте привязку к промежуточному объекту (я назову его «Sizer»), который хранится как статический ресурс: -
<Grid.Resources>
<local:Sizer x:Key="Sizer" />
</Grid.Resources>
<ListBox.ItemTemplate>
<DataTemplate>
<Border Width="{Binding Width, Source={StaticResource Sizer}}"
Height="{Binding Height, Source={StaticResource Sizer}}" />
Вы также привязали бы свой ползунок к этому промежуточному объекту: -
<Slider Value="{Binding Factor, Mode=TwoWay, Source={StaticResource Sizer}}" />
Теперь вам просто нужно создать класс Sizer
со свойствами Factor
, Width
, Height
. Вы бы хотели реализовать INotifyPropertyChanged, чтобы привязка к свойствам была обновлена. Затем вы перемещаете свою математику в этот объект. Когда коэффициент изменяется, вы изменяете свойства ширины и высоты и позволяете обработчикам привязок обновлять все существующие границы.