Windows phone 8 依赖项属性在Windows Phone 8.1应用程序中不起作用
我对windows phone开发还不熟悉,所以这个问题可能对你们所有的专家来说都很奇怪。我有一个datatemplate依赖属性,它在windowsphone 8.0 silverlight项目中运行良好。当我尝试在windowsphone 8.1应用程序中使用相同的属性时,它不起作用。请注意,我已经对Windows Phone 8.1应用程序进行了所有命名空间更改。请检查下面的代码以了解更多详细信息。 XAML代码Windows phone 8 依赖项属性在Windows Phone 8.1应用程序中不起作用,windows-phone-8,windows-phone-8.1,Windows Phone 8,Windows Phone 8.1,我对windows phone开发还不熟悉,所以这个问题可能对你们所有的专家来说都很奇怪。我有一个datatemplate依赖属性,它在windowsphone 8.0 silverlight项目中运行良好。当我尝试在windowsphone 8.1应用程序中使用相同的属性时,它不起作用。请注意,我已经对Windows Phone 8.1应用程序进行了所有命名空间更改。请检查下面的代码以了解更多详细信息。 XAML代码 <lazy:NewListBox x:Name
<lazy:NewListBox x:Name="MainListBox" Margin="0,0,-12,0" Opacity="0.3"
ItemsSource="{Binding Data}" >
<lazy:NewListBox.LoadedItemTemplate>
<DataTemplate>
<Grid Height="100">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Image Source="{Binding Path=StoreImage}" Grid.Column="0" Stretch="Uniform"
Width="100" Height="100" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="12,0"/>
<TextBlock x:Name="largeText" Grid.Column="1" Text="{Binding Path=StoreName}" Style="{StaticResource PhoneTextLargeStyle}" VerticalAlignment="Center"/>
</Grid>
</DataTemplate>
</lazy:NewListBox.LoadedItemTemplate>
</lazy:NewListBox>
C#代码
公共类NewListBox:ListBox
{
#区域LoadedItemTemplate属性
///
///当项目已完全加载且在列表中可见时使用的“完整”模板
///
公共数据模板LoadedItemTemplate
{
获取{return(DataTemplate)GetValue(loadeditemplateproperty);}
set{SetValue(LoadedItemTemplateProperty,value);}
}
///
///支持该属性的DependencyProperty
///
公共静态只读DependencyProperty LoadedItemTemplateProperty=DependencyProperty.Register(
“LoadedItemTemplate”,
类型(数据模板),
类型(新列表框),
无效);
}
我不知道我做错了什么,谢谢你的帮助
谢谢
Mayank Rajpura。您是否收到任何错误消息?到底是什么问题?谢谢你的评论,我没有收到任何错误消息。列表框仅显示类名而不是模板。请检查以下示例此示例与Windowsphone 8.0 silverlight一样工作正常,但当我尝试将其迁移到Windowsphone 8.1运行时应用程序时,LoadedItemTemplate依赖项属性不起作用。我不知道为什么?这是一个简单的依赖属性。您显示的代码似乎很好。。。它显示了什么类名?你确定问题出在这个LoadedItemTemplate依赖关系中吗?屏幕中的代码类名是NewListBox,但如果你从我在前面的评论中提供的mdsn链接下载示例,那么就有一个名为LazyListBox的类。从这个示例中,我只获取了依赖项属性并创建了名为NewListBox的新类,但它不起作用。您是否收到任何错误消息?到底是什么问题?谢谢你的评论,我没有收到任何错误消息。列表框仅显示类名而不是模板。请检查以下示例此示例与Windowsphone 8.0 silverlight一样工作正常,但当我尝试将其迁移到Windowsphone 8.1运行时应用程序时,LoadedItemTemplate依赖项属性不起作用。我不知道为什么?这是一个简单的依赖属性。您显示的代码似乎很好。。。它显示了什么类名?你确定问题出在这个LoadedItemTemplate依赖关系中吗?屏幕中的代码类名是NewListBox,但如果你从我在前面的评论中提供的mdsn链接下载示例,那么就有一个名为LazyListBox的类。从这个示例中,我只获取了dependency属性并创建了一个名为NewListBox的新类,但它不起作用。
public class NewListBox : ListBox
{
#region LoadedItemTemplate property
/// <summary>
/// The "full" template to use when an item is fully loaded and visible in the list
/// </summary>
public DataTemplate LoadedItemTemplate
{
get { return (DataTemplate)GetValue(LoadedItemTemplateProperty); }
set { SetValue(LoadedItemTemplateProperty, value); }
}
/// <summary>
/// DependencyProperty that backs the <see cref="LoadedItemTemplate"/> property
/// </summary>
public static readonly DependencyProperty LoadedItemTemplateProperty = DependencyProperty.Register(
"LoadedItemTemplate",
typeof(DataTemplate),
typeof(NewListBox),
null);
}