【发布时间】:2018-05-08 11:53:41
【问题描述】:
我有一个带有 ViewModel 的 ContentPage。此视图包含一个 ListView。
在 XAML 上我有
<ListView>
<ListView.ItemTemplate>
<DataTemplate:>
<templates:miItemView/>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
在 MiItemView 上,我还有其他带有标签的 contentView。如何将此标签的文本属性与我的 ViewModel 的 String 属性绑定????
我的视图模型:
public class RoutePageViewModel : ViewModelBase
{
#region Views
private List<Citizen> _citizens;
private int _citizensPosition;
#endregion
public List<Citizen> Citizens
{
get { return _citizens; }
set
{
_citizens = value;
RaisePropertyChanged();
}
}
public String CitizensPosition
{
get { return _citizensPosition; }
set
{
_citizensPosition = value;
RaisePropertyChanged();
}
}
我的项目视图:
<ContentView.Content>
<Grid
HorizontalOptions="FillAndExpand"
RowSpacing="0"
VerticalOptions="Fill">
<Grid>
<!-- Name -->
<Label
x:Name="myTitle"
FontSize="Large"
Text="{Binding Name}" />
<!-- AGE -->
<Label
FontSize="Small"
Text="{Binding Age}" />
</Grid>
<local:PositionIndicatorView
/>
</Grid>
和位置视图:
<StackLayout>
<Label Style="{StaticResource labelGeneralStyle}" Text="HOW BINDING WITH CitizensPosition />
</StackLayout>
【问题讨论】:
-
不应该
CitizensPosition成为Citizen的一部分吗?然后你可以像绑定Age和Name一样绑定它 -
我不确定。真的我需要两个属性,CitizensPosition(项目的位置)和 TotalItems(列表的总数)。最好的方法是什么?
标签: xamarin mvvm binding xamarin.forms