这是一个非常奇怪的问题,这是我正在处理的最后一页,我曾经使用ListBox的ObservableCollection来添加文本块和图像中的数据并绑定数据。
但这次我只有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 :(得分: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>