ich ein UWP-App mit einem Listenfeld, das eine Liste der Aufzählungen gebunden ist mit einem Radio, um die verschiedenen Optionen anzuzeigen.SelectedItem nicht aktualisiert
Was ich will, ist, dass, wenn ich einen Artikel (zB jährlich) auswählen, die auf dem SelectedCategory die BudgetPeriod zum Enum jährlich geändert wird. Was ich versucht ist folgende:
Mein Listbox:
<ListBox Margin="0,0,0,12"
ItemsSource="{Binding BudgetPeriods}"
SelectedItem="{Binding SelectedCategory.BudgetPeriod}">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ListBoxItem">
<RadioButton Content="{TemplateBinding Content}" IsChecked="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsSelected}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ListBox.ItemContainerStyle>
</ListBox>
Selected Category Property:
public CategoryViewModel SelectedCategory
{
get { return selectedCategory; }
set
{
selectedCategory = value;
RaisePropertyChanged();
}
}
Liste der Aufzählungen:
public List<BudgetPeriod> BudgetPeriods => new List<BudgetPeriod>
{
BudgetPeriod.Monthly,
BudgetPeriod.Yearly
};
die propety in SelectedCategory.BudgetPeriod Leider ist immer monatlich (Die erste Auswahl) und ist nicht ändern, wenn ich etwas anderes auswähle.
Das Projekt ist Open Source, so dass Sie den gesamten Code aswell Prüfung können: https://github.com/NPadrutt/MoneyFox.Windows/tree/budget
Links zu den entsprechenden Klassen: Ansicht Modell: https://github.com/NPadrutt/MoneyFox.Windows/blob/budget/Src/MoneyFox.Business/ViewModels/ModifyCategoryViewModel.cs
Ansicht (Code Hinter): https://github.com/NPadrutt/MoneyFox.Windows/blob/budget/Src/MoneyFox.Windows/Views/ModifyCategoryView.xaml.cs
Android Layout: https://github.com/NPadrutt/MoneyFox.Windows/blob/budget/Src/MoneyFox.Droid/Resources/layout/activity_modify_category.axml
hat die Eigenschaft Ereignis geändert BudgetPeriod Feuer? – pix
Sie meinen auf der SelectedCategory? Ja tut es. Ich muss hinzufügen, dass es eine ähnliche Implementierung für Android mit der gleichen VM mit MvvmCross gibt und es funktioniert dort, aber nicht unter Windows. Also ist die VM im Allgemeinen in Ordnung, denke ich. – NPadrutt
können Sie bitte den Link zur github-Klasse in einem Kommentar hinzufügen? – pix