이 예제 코드에서는 Grid
의 Canvas
위치를 해당 행 중 하나의 높이만큼 오프셋하려고합니다. 누구든지 내가 잘못하고있는 것을 볼 수 있습니까? 보시다시피 xaml 파일에서 바인딩을 아래로 이동 시키려고 시도했습니다. RowDefinitions
을 먼저 정의해야하는 경우에 대비했습니다. Canvas.Top
는 아마 변경 알림의 종류를 게재하고 있지 않습니다 그래서 0RowDefinition의 높이에 바인딩하는 방법은 무엇입니까?
<Canvas>
<Grid Canvas.Top="{Binding ElementName=DetailsRow, Path=ActualHeight}">
<Grid.RowDefinitions>
<RowDefinition x:Name="NameRow" />
<RowDefinition x:Name="DetailsRow" />
</Grid.RowDefinitions>
<Button Grid.Row="0">Button</Button>
<Button Grid.Row="1">Button</Button>
<!-- I expected this to maybe work, but no dice
<Canvas.Top>
<Binding ElementName="DetailsRow" Path="ActualHeight" />
</Canvas.Top>
-->
</Grid>
</Canvas>
종속성 속성이 아닌 것을 알지 못했습니다. 흠. 좋아, 계속 살펴볼 것이지만 코드에서해야 할 일이 옳다고 생각한다. – moswald
@mos, 행운을 빕니다? – Josh
필자는 그 줄에 패널을 깔고 그 이름을 지정한 다음 높이에 맞춰 바인딩했습니다. 시작시 바인딩 추적 오류가 발생하지만 창을 완전히 생성 한 후에는 모든 것이 제대로 작동하는 것처럼 보입니다. 이러한 오류를 제거하는 방법을 알아낼 수 있다면 여기에 해결책을 게시 할 것입니다. – moswald