绑定到模型的列表元素的属性
本文关键字:列表元素 属性 模型 绑定 | 更新日期: 2023-09-27 18:26:00
我有一个属性为List<Model2> model2;
的模型Model1
。
Model1.cs
//Other Properties
public List<Model2> model2List {get; set;}
在Model2
中,我有这个性质Model3 model3;
Model2.cs
// Other Properties
public Model3 model3 {get; set;}
Model3.cs
// Other Properties
public string Name {get; set;}
现在我有两个用户控件View1
和View2
,其中View2
在View1
中定义
View1.xaml用户控制
<Grid x:Name="LayoutRoot">
<!-- Some properties here bind to those of model1 and model2 -->
<views:View2 Name="view2"></views:View2>
</Grid>
View2.xaml用户控制
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<phone:LongListSelector
ItemsSource="{Binding Path=model3, Mode=OneWay}">
<phone:LongListSelector.ItemTemplate>
<DataTemplate>
<StackPanel>
<Border
BorderBrush="{StaticResource PhoneBackgroundBrush}"
BorderThickness="3"
Margin="0,12">
<Grid>
<TextBlock Text={Binding Path=Name, Mode=OneWay}>
</TextBlock>
</Border>
<views:View3 Name="view3">
</views:View3>
</StackPanel>
</DataTemplate>
</phone:LongListSelector.ItemTemplate>
</phone:LongListSelector>
</Grid>
我正在尝试将View2.xaml中的TextBlock绑定到Model3
中的属性名称。在我的CS中,我已将DataContext设置为
view2.DataContext = model1Object.model2List;
似乎不起作用。此外,我还需要将view2
中定义的view3
中的控件与model3
的属性绑定。我知道这看起来太令人困惑了,但我被卡住了。帮助
这些不是属性。这些是字段。无法绑定到字段。
使用自动特性定义将字段更改为特性。
public Model3 Model3 {get;set;} // PascalCase for property names, thx
这可能不是唯一的问题,但尝试绑定字段肯定是不正确的。