如何在 ListView 中绑定 Label 的 FontSize
How to bind FontSize of Label inside a ListView
我有一个 ListView
,其 ItemSource
绑定到 ArticleList
。我需要将其中 Label
的 FontSize
绑定到 MyFontSize
,即 ArticleList
中的 NOT。它只是我视图模型中的另一个 属性,就像 ArticleList
XAML代码:
<ListView ItemsSource="{Binding ArticleList}"
x:Name="ArticleListView" HasUnevenRows="True"
SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<ContentView>
<StackLayout Padding="10,0,20,10">
<Image Source="{Binding _Image}"/>
<Label Text="{Binding _Description}"
FontSize="{Binding MyFontSize}"/>
</StackLayout>
</ContentView>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
您需要 'target' 为您的 ViewModel 保存正确数据上下文的元素。我猜你把它连接到你的页面了吗?无论如何,语法如下 - 元素名称是具有正确数据上下文的元素。
{Binding DataContext.MyFontSize, ElementName=LayoutRoot}
Dushyant Bangal 的精彩表现,似乎在 Xamarin 中您需要使用 Source 属性 才能使绑定工作:)
FontSize="{Binding BindingContext.MyFontSize, Source={Reference LayoutRoot}}"
尝试这样的事情:
FontSize="{Binding ElementName=ArticleListView, Path=DataContext.MyFontSize}"
我有一个 ListView
,其 ItemSource
绑定到 ArticleList
。我需要将其中 Label
的 FontSize
绑定到 MyFontSize
,即 ArticleList
中的 NOT。它只是我视图模型中的另一个 属性,就像 ArticleList
XAML代码:
<ListView ItemsSource="{Binding ArticleList}"
x:Name="ArticleListView" HasUnevenRows="True"
SeparatorVisibility="None">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<ViewCell.View>
<ContentView>
<StackLayout Padding="10,0,20,10">
<Image Source="{Binding _Image}"/>
<Label Text="{Binding _Description}"
FontSize="{Binding MyFontSize}"/>
</StackLayout>
</ContentView>
</ViewCell.View>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
您需要 'target' 为您的 ViewModel 保存正确数据上下文的元素。我猜你把它连接到你的页面了吗?无论如何,语法如下 - 元素名称是具有正确数据上下文的元素。
{Binding DataContext.MyFontSize, ElementName=LayoutRoot}
Dushyant Bangal 的精彩表现,似乎在 Xamarin 中您需要使用 Source 属性 才能使绑定工作:)
FontSize="{Binding BindingContext.MyFontSize, Source={Reference LayoutRoot}}"
尝试这样的事情:
FontSize="{Binding ElementName=ArticleListView, Path=DataContext.MyFontSize}"