我想将我的
RowDefinition
Height
绑定到 View 类后面代码中的变量。
问题是我已将 MainPage 的
BindingContext
定义为 MainPageViewModel,现在我需要再次将其绑定到 MainPage。我试图使用自绑定,但它不是为此类问题创建的,或者我不知道如何正确使用它。
我尝试过的代码:
<Grid.RowDefinitions BindingContext="{Binding Source={RelativeSource Self}, Path=MainPage}"> <!--attempt to set BindingContext to MainPage.xaml.cs-->
<RowDefinition Height="*"/>
<RowDefinition Height="75"/>
<RowDefinition Height="10"/>
<RowDefinition Height="{Binding TestHeight}"/> <!--This XAML is in MainPage.xaml, this "TestHeight" variable is in MainPage.xaml.cs-->
<RowDefinition Height="10"/>
</Grid.RowDefinitions>
您设置了
BindingContext="{Binding Source={RelativeSource Self},
,这意味着您将 BindingContext
设置为 Grid
本身,并且 Grid
没有 mainpage 属性。
如果你想使用相对绑定,只需将其更改为,
<Grid BindingContext="{Binding Source={RelativeSource AncestorType={x:Type local:MainPage}}}">
<Grid.RowDefinitions>
<!--attempt to set BindingContext to MainPage.xaml.cs-->
...
<RowDefinition Height="{Binding TestHeight}"/>
更多信息,您可以参考绑定到祖先。