【发布时间】:2021-01-26 08:29:59
【问题描述】:
我试图在按下按钮时更改堆栈布局的背景颜色。这是堆栈布局:
<StackLayout Padding="20" x:Name="LayoutTest" BackgroundColor="{Binding BackgroundTest}">
<Label Text="Background" TextColor="Black" FontSize="Subtitle" FontAttributes="Bold" VerticalOptions="Center"></Label>
<Frame CornerRadius="10" Padding="10" Margin="0, 0, 0, 10" BackgroundColor="#00A6FF">
<RadioButton GroupName="colors"></RadioButton>
</Frame>
<Frame CornerRadius="10" Padding="10" Margin="0, 0, 0, 10" BackgroundColor="#13CE66">
<RadioButton GroupName="colors" Command="{Binding ChangeBgColorGreen}"></RadioButton>
</Frame>
<Frame CornerRadius="10" Padding="10" Margin="0, 0, 0, 10" BackgroundColor="#FFD185">
<RadioButton GroupName="colors"></RadioButton>
</Frame>
<Frame CornerRadius="10" Padding="10" Margin="0, 0, 0, 10" BackgroundColor="#F95F62">
<RadioButton GroupName="colors"></RadioButton>
</Frame>
<Button Text="Change Color" Command="{Binding ChangeColor}"></Button>
</StackLayout>
这是我的视图模型:
class SettingsPageViewModel : BaseViewModel
{
public String BackgroundTest { get; set; }
public Command ChangeColor { get; }
public SettingsPageViewModel()
{
Title = "Dashboard ";
ChangeColor = new Command(ChangeBgColor);
}
void ChangeBgColor()
{
BackgroundTest = "#F95F62";
}
}
但是,无论何时单击 ChangeColor 按钮,它似乎都不会更改“BackgroundTest”值。我对 MVVM 很陌生,所以不确定如何最好地做到这一点。任何帮助将不胜感激。
【问题讨论】:
标签: c# xamarin xamarin.forms mvvm