我有一个“设置”类(在自制的子文件夹“etc”中(在Visual Studio中))它有一个名为“boobackcolorred”的布尔属性(在第一种形式中,值为TRUE,它将其置为true)。现在我正在为我的设置创建一个WPF窗口,我想使用一个复选框,您可以在其中更改boalean的值。我希望以“XAML”方式执行此操作。(我可以通过检查事件并且未选中来执行此操作,但我不想这样做。)
settings.cs :(在我在VS中创建的“etc”文件夹中)
class settings
{
public static Boolean boobackcolorred{ get; set; }
... // some extra code that does nothing with this, some xml reading and saving but doesn t matter for this issue.
}
现在我正在尝试使用此xaml复选框
<CheckBox Content="Red Background?" Name="chbbackgroundred" IsChecked="{Binding etc.settings.boobackcolorred,Mode=TwoWay}" ></CheckBox>
OFC这不会起作用我尝试了很多方法让它发挥作用。试图包括这样的东西:
xmlns:settings="clr-namespace:etc.myapp.settings"
还尝试绑定复选框所在网格的datacontext,但没有运气。
我知道这可能很难。但是,我们将非常感谢答案。
PS:它应该是双向绑定的,所以如果未选中,则静态布尔值变为false。
答案 0 :(得分:2)
问题是它是一个静态属性。 答案中可能的解决方法:
答案 1 :(得分:0)
使用IValueConverter接口。
<CheckBox IsChecked="{Binding Path=MyProperty, Converter={StaticResource ChbCheckedConverter}}"/>