我有一個UWP應用程序,它帶有一個列表框,它綁定到一個枚舉列表,用一個單選按鈕顯示不同的選項。SelectedItem not updated
我想要的是,當我選擇一個項目(例如每年)時,SelectedCategory上的BudgetPeriod將每年更改爲enum。我試過如下:
我的列表框:
<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();
}
}
枚舉列表:
public List<BudgetPeriod> BudgetPeriods => new List<BudgetPeriod>
{
BudgetPeriod.Monthly,
BudgetPeriod.Yearly
};
不幸的是,在歡迎使用屬性是SelectedCategory.BudgetPeriod總是每月(第一選擇),而不是當我選擇別的東西時會改變。
該項目是開源的,所以你可以檢出整個代碼藏漢:https://github.com/NPadrutt/MoneyFox.Windows/tree/budget
鏈接到相關的類: 視圖模型: https://github.com/NPadrutt/MoneyFox.Windows/blob/budget/Src/MoneyFox.Business/ViewModels/ModifyCategoryViewModel.cs
是否BudgetPeriod火屬性更改事件? – pix
你的意思是在SelectedCategory上?是的,它確實。我必須補充一點,對於使用與MvvmCross相同的虛擬機的android有一個類似的實現,它可以在那裏工作,但不能在Windows上工作。所以我認爲虛擬機總體來說是好的。 – NPadrutt
你可以在評論中添加鏈接到github類嗎? – pix