2014-10-09 4 views
0

У меня есть модель Model1 с недвижимостью как List<Model2> model2;.Привязка к элементу списка элементов модели

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 UserControl

<Grid x:Name="LayoutRoot"> 
    <!-- Some properties here bind to those of model1 and model2 --> 
    <views:View2 Name="view2"></views:View2> 
</Grid> 

View2.xaml UserControl

<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> 

Я пытаюсь связать TextBlock в View2.xaml с именем свойства в Model3. С моей CS я поставил DataContext в

view2.DataContext = model1Object.model2List;

кажется ли не работать. Также мне нужно связать элементы управления в моем view3, определенном в view2 со свойствами model3. Я знаю, что это выглядит слишком запутанным, но я застрял. Помогите!

+0

Вопрос неясен. –

+0

@EldarDordzhiev Проверьте, есть ли смысл сейчас. – PratPor

+0

Поместите свой полный xaml – MatDev8

ответ

0

Это не недвижимость. Это поля. Вы не можете привязываться к полям.

Измените свои поля на свойства, используя автоматические определения свойств.

public Model3 Model3 {get;set;} // PascalCase for property names, thx 

Это может быть не единственная проблема, но определенно некорректно пытаться связываться с полями.

+0

Похоже, что эти поля являются частными. Рассмотрите возможность использования публичной видимости :) –

+0

@ ЭльдарДорджиев упс! – Will

+0

Это объекты на самом деле. Я отредактировал вопрос. Помогите. – PratPor

Смежные вопросы