gpt4 book ai didi

c# - XAML DataTemplate 数据绑定(bind)

转载 作者:太空宇宙 更新时间:2023-11-03 11:12:13 25 4
gpt4 key购买 nike

我正在尝试为 WP8 创建一个应用程序,但我终究无法弄清楚数据绑定(bind)是如何工作的。我已经尝试了一个又一个例子,看起来他们所做的与我几乎完全一样,但似乎没有任何效果。配置文件类基本上包含配置文件的名称和图标。我想在屏幕上显示这些配置文件的列表,名称位于图标的右侧。

当我在 WP8 手机模拟器中运行该项目时,什么也没有显示。如果我将 DataTemplate 中元素的属性(即源和文本)更改为绝对字符串,它可以正常工作。

主页.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;
}
}
}

最佳答案

尝试将 ProfileNameImageSource 从字段更改为属性。

class Profile
{
private const string DefaultImageSource = "/Resources/Delete.png";

public string ProfileName { get; set; }
public string ImageSource {get; set; }

public Profile(string name)
{
ProfileName = name;
ImageSource = DefaultImageSource;
}
}

关于c# - XAML DataTemplate 数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567687/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com