在我的 c# 类中,一切正常。我的视图模型属性已正确公开。
如果我调用了我要公开的类中的一个属性,比如说“id”或“type”,它们会在模拟器中很好地出现……但是如果我试图访问“title”,它就不起作用了。
所以我想,也许是一些不可靠的数据,但我找不到任何......在最后一次尝试中,我将标题属性称为“floppydoodlewoodle”(因为没有更好的名称),并在我的 xaml 中更新了绑定。有效...
这听起来对吗?一些预先采取的财产名称?或者这里还有其他一些不靠谱的事情吗?
编辑::
问题只是在 xaml 中是否允许使用 title(作为属性)这个词,但如果您真的必须看到它,这里是 xaml。
<DataTemplate x:Key="ActivityStreamItemTemplate">
<StackPanel VerticalAlignment="Top" Margin="5,0,0,0">
<TextBlock Text="{Binding ttitle}" HorizontalAlignment="Left" FontSize="30" VerticalAlignment="Center" Margin="0,0,0,5" Foreground="White" />
</StackPanel>
</DataTemplate>
请注意,我有 {Binding ttitle},我必须更改它以及从 title 到 ttitle 的支持数据才能使其正常工作(而不是之前建议的 floppydoodlewoodle 呵呵)。
我希望这能澄清一些事情......标题没有被选中只是很奇怪,但是使用相同的数据并将其更改为 ttitle 允许它出现......所以我认为它只是 xaml 中的保留名称,但又一次,这很烦人,所以我想我最好问一下。
另一个想法是 xaml 在其他属性之间存在歧义问题......但我很难看到我是如何考虑这样调用这个模板的:
<phone:LongListSelector x:Name="ActivityStreamList"
Background="Transparent"
ItemTemplate="{StaticResource ActivityStreamItemTemplate}"
ItemsSource="{Binding ActivityStream}"
Margin="40,0,0,96"
LayoutMode="List"
HideEmptyGroups="True"
IsGroupingEnabled="True">
</phone:LongListSelector>
这是相关的 ViewModel 部分。((*只是这篇文章的隐私)- AlphaKeyGroup = http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj244365(v=vs.105).aspx
private async void LoadActivityStreamSection()
{
activityStreamRepository = new *****StreamRepository();
var tempActivityStream = await activityStreamRepository.GetAllBySpaceId(space.space_id);
List<AlphaKeyGroup<(*****Stream>> groupedActivityStream = AlphaKeyGroup<(*****Stream>.CreateGroups(tempActivityStream,
System.Threading.Thread.CurrentThread.CurrentUICulture,
(*****Stream a) => { return a.ttitle; }, true);
//activityStream = tempActivityStream;
activityStream = groupedActivityStream;
ActivityStream = null;
//LoadBar loadBar = new LoadBar("Logging in");
//loadBar.ShowLoadBar(this);
}