2013-07-16 5 views
1

Я любитель разработки Windows-телефона, а также новичок в wpf. У меня есть сетка:Как связать сетку с объектом

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" > 

         <Grid HorizontalAlignment="Stretch"> 
          <Grid.RowDefinitions> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
           <RowDefinition Height="Auto"></RowDefinition> 
          </Grid.RowDefinitions> 



          <TextBlock Text="{Binding StrDay}" 
             Grid.Row="0" 
             Margin="9,-7,0,0" 
             Style="{StaticResource PhoneTextTitle1Style}"/> 

          <TextBlock Text="Day's Highlight" 
             Grid.Row="1" 
             FontWeight="Bold" 
             Style="{StaticResource PhoneTextNormalStyle}" 
             /> 

          <TextBlock Text="{Binding DaysHighlight}" 
             Grid.Row="2" 
             Style="{StaticResource PhoneTextNormalStyle}" 
             /> 

          <TextBlock Text="My Whole Day" 
             Grid.Row="3" 
             FontWeight="Bold" 
             Style="{StaticResource PhoneTextNormalStyle}" 
             /> 

          <TextBlock Text="{Binding WholeDay}" 
             Grid.Row="4" 
             Style="{StaticResource PhoneTextNormalStyle}" 
             /> 
         </Grid> 

Я хочу связать его с объектом DayDetail. Должен отметить, что DayDetail - это не коллекция. это просто объект класса, который имеет StrDay, DaysHighlight, WholeDay Property. Я следую структуре MVVM.

public void loadSelectedData(int Id) 
     { 
      try 
      { 
       DayDetail = myDiaryData.tblMyDailyDiary.Single(details => details.Id == Id); 

      } 

      catch (Exception e) 
      { 
      } 

     } 
+0

Мое понимание данных привязки - вам нужна переменная, назначьте ей источник данных, а затем вызовите метод привязки данных. Я не знаю, так ли это на телефоне Windows или нет. –

+1

Вам необходимо установить «DataContext» сетки в экземпляр «DayDetail»: «ContentPanel.DataContext = dayDetailInstance;». – PoweredByOrange

ответ

1

Я нашел решение.

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" DataContext="{Binding DayDetail}" > 

просто добавив DataContext="{Binding DayDetail}" связывают все вещи. спасибо за помощь каждого. он работает хорошо для меня