2

아이템이 UserControl로 템플릿 화 된 ItemsControl입니다. 내 ItemsControl.ItemsPanelCanvas으로 템플릿 화됩니다.ItemsTemplate 데이터 템플릿 및 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> 



내가 원하는 폭과 높이 속성을 결합하는 것입니다 내 사용자 컨트롤을 내 Canvas 사용자 컨트롤에 추가합니다. 그게 가능할까요?

답변

0

상대 소스 바인딩을 사용해 보셨습니까?

Width="{Binding ActualWidth, 
       RelativeSource={RelativeSource AncestorType=Canvas}}" 
관련 문제