![](/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.