В этом примере кода я пытаюсь смещать позицию Grid
Canvas
на высоту одной из его строк. Кто-нибудь видит, что я могу делать неправильно? Как вы можете видеть, я попытался переместить привязку ниже в файле xaml, на случай, если сначала необходимо определить RowDefinitions
. В любом случае, это, кажется, не имеет значения, потому что Canvas.Top
всегда 0.Как мне привязать к высоте RowDefinition?
<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