我正在嘗試爲WP8做一個應用程序,但是我不知道數據綁定是如何工作的。我已經嘗試過例子後的例子,這看起來像他們幾乎完全一樣,但似乎沒有任何工作。基本上,配置文件類包含配置文件和圖標的名稱。我想在屏幕上顯示這些配置文件的列表,並在圖標右側顯示名稱。XAML DataTemplate數據綁定
當我在WP8手機模擬器中運行項目時,什麼也沒有顯示出來。如果我將DataTemplate中的元素(即Source和Text)的屬性更改爲絕對字符串,則它工作正常。
MainPage.xaml中:
<phone:PhoneApplicationPage ..>
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.Resources>
<DataTemplate x:Name="ProfileListTemplate">
<StackPanel Margin="10">
<Image Grid.Column="0" Width="50" Height="50" Source="{Binding ImageSource}" Stretch="Fill"/>
<TextBlock Grid.Column="1" Text="{Binding ProfileName}" Margin="10" HorizontalAlignment="Left" FontSize="36"/>
</StackPanel>
</DataTemplate>
</Grid.Resources>
<phone:LongListSelector x:Name="ProfilesList" Grid.Row="1" VerticalAlignment="Top" FontSize="36" Height="535" Margin="10,0,0,0" ItemTemplate="{StaticResource ProfileListTemplate}"/>
</Grid>
</phone:PhoneApplicationPage>
MainPage.xaml.cs中:
namespace Profiles
{
public partial class MainPage : PhoneApplicationPage
{
public MainPage()
{
InitializeComponent();
ObservableCollection<Profile> ProfilesCollection = new ObservableCollection<Profile>();
ProfilesCollection.Add(new Profile("Nighttime"));
ProfilesCollection.Add(new Profile("Work"));
ProfilesCollection.Add(new Profile("Home"));
ProfilesList.ItemsSource = ProfilesCollection;
}
}
}
「檔案」 類別:
namespace Profiles
{
class Profile
{
public string ProfileName = "";
public string ImageSource = "/Resources/Delete.png";
public Profile(string name)
{
ProfileName = name;
}
}
}