1

私の c# クラスでは、すべてが正常に機能していました。ビュー モデルのプロパティが正しく公開されました。

公開しているクラスのプロパティの 1 つ (たとえば、「id」または「type」) を呼び出した場合、それらはエミュレーターで正常に出力されました...ただし、「title」にアクセスしようとすると、機能しません。

だから私はおそらくいくつかの危険なデータを考えましたが、何も見つかりませんでした...最後の溝の試みで、タイトル属性を「フロッピードゥードルウッドル」と呼び(より良い名前がないため)、xamlでバインディングを更新しました。出来た...

これは正しいと思いますか?いくつかの事前取得されたプロパティ名? それとも、ここで少し危険なことが起こっていますか?

編集::

問題は、タイトルという単語 (プロパティとして) が xaml で許可されているかどうかだけでしたが、実際に表示する必要がある場合は、ここに 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で予約された名前にすぎないと想定しましたが、もう一度、めんどくさいので聞いてみようと思いました。

もう1つの考えは、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