绑定到模型的列表元素的属性

本文关键字:列表元素 属性 模型 绑定 | 更新日期: 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;}

现在我有两个用户控件View1View2,其中View2View1 中定义

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

这可能不是唯一的问题,但尝试绑定字段肯定是不正确的。