![](/img/trans.png)
[英]Modify Grid created using XAML in code behind - Xamarin.Forms
[英]Xamarin.forms: using own class object in code and xaml
因此,我的班级为“ Datenbank”,其中包含ObservableCollection“ Liste”。 我需要在ListView中使用Liste的值,并且同时可以在代码中对其进行编辑,但是我无法同时执行这两个操作。 当我创建一个Datenbank对象时,我无法在Listview中使用它,并且如果仅对Listview使用类Datenbank及其构造函数,则无法在代码中对其进行编辑。 我猜想将Datenbank设为静态可能是一种解决方案,但是我无法使其工作(即使与静态主题上的其他帖子一起使用)。 你们能帮我这个忙吗? 谢谢 :)
Xaml:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:SportAchievements"
x:Class="SportAchievements.MainPage"
BackgroundColor="Silver"
>
<ContentPage.BindingContext>
< local:Datenbank />
</ContentPage.BindingContext>
<StackLayout>
<ListView ItemsSource="{Binding Liste}"
HasUnevenRows="True"
x:Name="LV1"
BackgroundColor="Silver"
ItemTapped="ListView_OnItemTapped"
>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<StackLayout >
<Label Text="{Binding MyName}" BackgroundColor="Gray" TextColor="DodgerBlue"></Label>
<StackLayout IsVisible="{Binding IsVisible}" BackgroundColor="AliceBlue">
<Label Text="{Binding Points, StringFormat= '\Punkte: {0\} '}"></Label>
<Label Text="{Binding Info}"></Label>
/>
</StackLayout>
</StackLayout>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</StackLayout>
</ContentPage>
Datenbank类:
namespace SportAchievements
{
public class Datenbank
{
public ObservableCollection<Achievement> Liste;
public Datenbank()
{
Liste = new ObservableCollection<Achievement>
{
new Achievement
{
MyName= "10 Liegestützen",
Info="bla bla bla",
Points =1,
IsVisible = false,
Done = false
}
};
}
}
}
在主页上,我要编辑Datenbank中的Liste:
namespace SportAchievements
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
public void Load_all()
{
var vm = BindingContext as Datenbank;
foreach (Achievement myAch in vm.Liste)
{
string myreturnvalue = "";
Load_key(myAch.MyName, ref myreturnvalue, "false");
myAch.Done = Convert.ToBoolean(myreturnvalue);
}
}
}
}
为我做了工作:)然后我可以从代码中调用abc,而不会出现问题
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.