2

У меня есть ItemsControl с элементами, шаблонами которых являются UserControl. My ItemsControl.ItemsPanel является шаблоном как Canvas.bind the ItemsTemplate datatemplate и ItemsPanelTemplate свойства


На данный момент я установить эти свойства ширины и высоты моего UserControl вручную, и это выглядит следующим образом:

<ItemsControl x:Name="curveList" 
       ItemsSource="{Binding SplineVMList}" 
       Background="{x:Null}"> 
    <ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <Canvas x:Name="canvas" Margin="46,60,83,46"/> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 
    <ItemsControl.ItemTemplate> 
     <DataTemplate> 
      <local:SplineControl Width="300" Height="300" Canvas.Bottom="0" Canvas.Left="0" IsSelected="{Binding IsSelected, Mode=TwoWay}"/> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
    <ItemsControl.ItemContainerStyle> 
     <Style TargetType="ContentPresenter"> 
      <Setter Property="Canvas.Bottom" Value="0"/> 
      <Setter Property="Canvas.Left" Value="0"/> 
     </Style> 
    </ItemsControl.ItemContainerStyle> 
</ItemsControl> 



То, что я хочу, чтобы связать свойства ширина и высота моего usercontrol для моего Canvas. Возможно ли это?

ответ

0

Вы пробовали относительную привязку источника?

например.

Width="{Binding ActualWidth, 
       RelativeSource={RelativeSource AncestorType=Canvas}}" 
Смежные вопросы