MAUI - 如何将 VisualElement 属性绑定到视图中的变量

问题描述 投票:0回答:1

我想将我的

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>
c# mvvm maui
1个回答
0
投票

您设置了

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}"/>

更多信息,您可以参考绑定到祖先

© www.soinside.com 2019 - 2024. All rights reserved.