Xamarin表示保存开关更改为sqlite

时间:2017-05-03 15:01:21

标签: c# xamarin xamarin.forms

我是xamarin的新手,我遇到了问题。 我正在制作一个待办事项应用程序,在列表视图中,您可以在其中看到可以使用开关设置任务的项目。交换机当前显示已保存的值,因此它绑定到数据库中的值,但如果状态发生更改,我无法看到如何保存状态。 正如我所知,我需要从交换机获取对象,我很感激帮助。

<ListView x:Name="MainListView"
              ItemSelected="MainListView_OnItemSelected">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <StackLayout Orientation="Horizontal">
                        <Label Text="{Binding Content}"></Label>
                        <Switch IsToggled="{Binding Done}" HorizontalOptions="EndAndExpand"></Switch>
                    </StackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>

这是我自定义的ViewcCel,其中绑定了值。

public ToDoItem() { }

    [PrimaryKey, AutoIncrement]
    public int Id { get; set; }
    public string Content { get; set; }
    public string PicturePath { get; set; }
    public bool Done { get; set; }

这是实体。 列表在主页面上,代码后面的页面我做其他的事情,以防万一这里是代码https://github.com/benonymus/ToDoApp3

1 个答案:

答案 0 :(得分:0)

你可以:

<Switch x:Name="my_switch" Toggled="Switch_Toggled" />

并在页面中:

public MyPage()
{
    my_switch.IsToggled = Done;
}

private void Switch_Toggled(object sender, ToggledEventArgs e)
{
    Done = my_switch.IsToggled;
}

编辑:

您也可以尝试:

<Switch IsToggled="{Binding Done, Mode=TwoWay}" />