繁体   English   中英

WP7中的数据绑定问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM