小编chr*_*rkl的帖子

LongListSelector和DataTemplateSelector

我正在使用LongListSelector来实现我的项目的列表或网格显示.为此,我创建了一个DataTemplateSelector,并在运行时更改了LayoutMode属性.这是有效的,但DataTemplateSelector似乎存在问题.如果我最初启动页面,则会为我的三个项目调用DataTemplateSelector三次.当我导航到另一个页面(更改LayoutMode的设置页面)然后返回时,DataTemplateSelector只被称为两个项目,但仍然有三个项目.

DataTemplateSelector:

public abstract class DataTemplateSelector : ContentControl
{
    public virtual DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        return null;
    }

    protected override void OnContentChanged(object oldContent, object newContent)
    {
        base.OnContentChanged(oldContent, newContent);

        ContentTemplate = SelectTemplate(newContent, this);
    }
}
Run Code Online (Sandbox Code Playgroud)

ItemViewModeTemplateSelector:

public class ItemViewModeTemplateSelector: DataTemplateSelector
{
    public DataTemplate ListViewModeTemplate
    {
        get;
        set;
    }

    public DataTemplate GridViewModeTemplate
    {
        get;
        set;
    }

    public override DataTemplate SelectTemplate(object item, DependencyObject container)
    {
        ViewMode viewMode = ViewMode.Grid;

        // Get ViewMode from IsolatedStorageSettings...

        switch (viewMode)
        {
            case ViewMode.Grid:
                return GridViewModeTemplate; …
Run Code Online (Sandbox Code Playgroud)

c# datatemplateselector windows-phone longlistselector windows-phone-8

8
推荐指数
1
解决办法
3943
查看次数

Amazon DynamoDB 获取过去 24 小时的所有项目

我想获取过去 24 小时内的所有项目。我已经进行了一些谷歌搜索,似乎使用 DynamoDB 并不容易。

我在想是否可以创建一个带有公共哈希键和时间戳字段作为排序键的二级索引。因此,我可以使用条件时间戳 > (DateTime.Now - 24h) 查询时间戳。如果这是一种可能的方式或有其他想法,有人可以对此发表评论吗?

实际上,我只需要表中不超过 24 小时的项目。因此,另一个想法是每小时清理一次表并删除所有超过 24 小时的项目。这可能吗?


编辑:另一个想法是创建一个二级索引,以日期作为哈希键,以时间作为排序键,然后执行两个查询。第一个日期=“今天”,第二个日期=“昨天”,条件是时间。但是我如何将日期和时间存储为字符串或整数?这会比我上面的想法更好吗?

amazon-web-services nosql amazon-dynamodb

7
推荐指数
1
解决办法
4780
查看次数

WP8和Linq to SQL与一对多关系:SubmitChanges()删除错误的实体

我有以下entites /表:

  • Board:一块板可以有很多引脚
  • Pin:一个引脚分配给一个板.该实体是抽象的,并且具有具有不同实现的子项.所有属于父pin实体的子节点InheritanceMapping将被保存到pin表中并用a区分Discriminator column
    • TaskPin:这是pin的一个子实现.它可以有很多任务.
  • Task:一个任务分配给一个TaskPin

以下是一些使我的结构更清晰的代码:

[Table]
public class Board : ModelBase
{
    private int _boardId;

    [Column(IsPrimaryKey = true, IsDbGenerated = true, DbType = "INT NOT NULL Identity"
                         ,CanBeNull = false, AutoSync = AutoSync.OnInsert)]
    public int BoardId
    {
        get { return _boardId; }
        set { SetProperty(ref _boardId, value); }
    }

    private EntitySet<Pin> _pins;

    [Association(Storage = "_pins", OtherKey = "_boardId"
    ,ThisKey = "BoardId", DeleteRule = "CASCADE")]
    public EntitySet<Pin> Pins
    {
        get { …
Run Code Online (Sandbox Code Playgroud)

c# submitchanges linq-to-sql windows-phone windows-phone-8

6
推荐指数
1
解决办法
311
查看次数

Flutter-根据登录状态以不同的路线启动应用

我正在寻找一种方法来根据登录状态在应用程序启动时显示不同的屏幕。例如,我定义了以下路由:

  • /家
  • /登录
  • /设置

当然,我会检查用户是否已经在main()方法中登录,然后将initialRouteMaterialApp的设置为/ login或/ home。成功登录后,我可以调用Navigator.pushReplacement导航到/ home,并从堆栈中删除登录屏幕。不幸的是,我总是必须为MaterialApp 定义路线/或设置其home属性。因此,如果我将其设置/为blank Container(),则此Container将位于导航堆栈中,并且用户可以返回到该空白屏幕。

我想到的两个选择是:

  • 将MaterialApp的home属性设置为HomeScreen或LoginScreen
  • build()如果用户尚未登录,则返回HomeScreen 方法中的LoginScreen

这两个选项都是可行的,但随后我必须提出一些重载逻辑并重新设置状态,以更新home属性或HomeScreen。

有什么想法在Flutter中处理此类案件的正确方法是什么?

navigation flutter

6
推荐指数
1
解决办法
1162
查看次数

Windows Phone - 使用PhoneApplicationPage的通用类

我有一个由AddPage.xaml和AddPage.xaml.cs组成的页面.我想创建一个泛型类AddPage,它从PhoneApplicationPage扩展到外包一些重复的代码,如Save或Cancel.如果我将基类从PhoneApplicationPage更改为我的新泛型类,我会收到此错误:"AddPage"的部分声明不能指定不同的基类.

xaml windows-phone-7 windows-phone windows-phone-8

3
推荐指数
1
解决办法
2211
查看次数

ListView滑动/幻灯片动画

我有一个ListView控件来显示项目,我想提供一个滑动/滑动手势来选择一个项目.我使用GestureRecognizer类来识别十字滑动手势,但我也希望通过水平移动所选项目来设置此手势的动画.

例如,这应该是来自iOS应用程序的此图像:

在此输入图像描述

我在网上搜索但是找不到任何有用的链接如何在ListView控件中动画这个手势.

animation listview swipe windows-runtime winrt-xaml

2
推荐指数
1
解决办法
1210
查看次数

WIndows Phone AdMediation控件不适用于adduplex

我已将AdMediation控件集成到我的Windows Phone应用程序中.这适用于pubCenter和Google AdMob,但不适用于adduplex.

根据文档,我使用了adduplex中的App ID(adduplex仪表板中的App键)但我仍然显示了配置错误标题.我几天前发现了这篇博文.帖子说我必须使用广告单元ID(adduplex仪表板中的横幅)而不是App键,但这也不起作用.

使用Adduiation控件和adduplex的人可以用正确的方式解释我吗?

windows-phone windows-phone-8 adduplex

0
推荐指数
1
解决办法
1195
查看次数

在 AWS AppSync 上查询 GraphQL 后的 AWS Lambda 超时

我按照本教程使用 Amplify 部署了一个 AWS AppSync GraphQL 终端节点:

https://aws-amplify.github.io/docs/js/api#amplify-graphql-client

我用 Node.js 和 TypeScript 创建了一个 Lambda 函数来查询数据:

import { APIGatewayEvent, Callback, Context, Handler } from 'aws-lambda';
import Amplify, { API, graphqlOperation } from "aws-amplify";
import * as queries from './src/graphql/queries';
import * as mutations from './src/graphql/mutations';
import { CreateBlogInput } from './src/API';
import aws_config from "./src/aws-exports";

Amplify.configure(aws_config);

export const list: Handler = async (event: APIGatewayEvent, context: Context, cb: Callback) => {
  const allBlogs = await API.graphql(graphqlOperation(queries.listBlogs));

  // this seems to be working …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-lambda graphql aws-appsync aws-amplify

0
推荐指数
1
解决办法
1843
查看次数