[英]Issue in DataBinding in WP7
这是一个非常奇怪的问题,这是我正在处理的最后一页,我过去制作了ListBox的ObservableCollection,以将数据添加到文本块和图像中并绑定数据。
但是这次我只有1个TextBlock和1个图像,我需要将数据绑定到它。 在.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>
有什么帮助吗? 谢谢。
看来您这里有两个潜在的问题。 首先,如果要从.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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.