1

在我的 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);
    }
4

0 回答 0