2012-02-10 11 views
0

これは本当に奇妙な問題です。これは私が作業していた最後のページです。私はListBoxのObservableCollectionを使って、データをテキストブロックとイメージに追加し、データをバインドしていました。WP30でのデータバインディングの問題

しかし、今回は、1つのTextBlockと1つのImageしか持っていないので、データをバインドする必要があります。 .csファイルで、私は直接それらにアクセスすることはできませんまた、DataBindingは動作していません。

XAML:

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
     <TextBlock Text="{Binding lastName}" Height="33" Margin="0,175,8,0" TextWrapping="Wrap" VerticalAlignment="Top" HorizontalAlignment="Right" Width="336" /> 
     <ListBox ItemsSource="{Binding lastAddress}" Margin="8,291,8,8"/> 
     <TextBlock HorizontalAlignment="Left" Height="33" Margin="8,0,0,0" TextWrapping="Wrap" Text="Restaurant Profile: " VerticalAlignment="Top" Width="225" TextDecorations="Underline" Foreground="#FF7A0100" FontSize="24"/> 
     <Image Source="{Binding lastImage}" Height="132" Margin="8,37,292,0" VerticalAlignment="Top" Stretch="None"/> 
    </Grid> 

任意のヘルプ?おかげさまで

+0

あなたがあなたの 'DataContext'を設定するコードに追加することもできます。それが助けになるでしょう。 – peterept

答えて

0

ここにいくつかの潜在的な問題があるようです。あなたの分離コード.csファイルからあなたのコントロールにアクセスしたい場合はまず第一に、あなたはこのように、コントロールの名前を付ける必要があります。

<Grid Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <TextBlock Name="MyTextBlock" /> 
</Grid> 

はその後、彼らはあなたの分離コードにアクセスできます

public MainPage() 
{ 
    InitializeComponent(); 
    DoStuff(); 
} 

private void DoStuff() 
{ 
    MyTextBlock.Text = "Hey, it works!"; 
} 

次に、データバインディングを有効にするには、XAMLまたはコードビハインドファイルのいずれかのページにDataContextを設定する必要があります。あなたはこのようにそれを行うことができます分離コードファイルで

、:

あなたは、このようにデータバインドすることができます
public MainPage() 
{ 
    InitializeComponent(); 
    LayoutRoot.DataContext = this; 
} 

<Grid Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> 
    <TextBlock Name="MyTextBlock" Text="{Binding MyProperty}"/> 
</Grid> 
関連する問題