Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 启动时未选中WPF复选框(数据绑定)_C#_Wpf_Data Binding_Mvvm_Checkbox - Fatal编程技术网

C# 启动时未选中WPF复选框(数据绑定)

C# 启动时未选中WPF复选框(数据绑定),c#,wpf,data-binding,mvvm,checkbox,C#,Wpf,Data Binding,Mvvm,Checkbox,我的复选框数据绑定遇到了这个问题。情况是: 当我初始化用户界面(启动应用程序)时,复选框es被取消选中,尽管它们绑定到的属性被设置为true。单击复选框时,属性设置为false,但复选框仍显示为未选中。从现在起,数据绑定按预期工作,并且复选框与绑定属性正确同步 以下是我的XAML代码: <ItemsControl ItemsSource="{Binding Path=DisplayTypes}"> <ItemsControl.ItemsPanel>

我的
复选框
数据绑定遇到了这个问题。情况是:

当我初始化用户界面(启动应用程序)时,
复选框
es被取消选中,尽管它们绑定到的属性被设置为true。单击
复选框
时,属性设置为false,但
复选框
仍显示为未选中。从现在起,数据绑定按预期工作,并且
复选框
与绑定属性正确同步

以下是我的XAML代码:

<ItemsControl ItemsSource="{Binding Path=DisplayTypes}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemTemplate>
        <DataTemplate DataType="{x:Type Presentation:TypeDisplayPair}">
            <CheckBox IsChecked="{Binding Display}" Margin="3">
                <TextBlock Text="{Binding Type}" Foreground="{Binding Color}" />
            </CheckBox>
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>

非常感谢您的任何建议,因为我花了太多时间调试这个,我已经没有什么想法了。

您提供的代码完全正确,您的初始化问题可能来自您分配
数据上下文的方式。我尝试了以下方法:

    public Window1()
    {
        DataContext = this;
        DisplayTypes = new ObservableCollection<TypeDisplayPair>()
        {
            new TypeDisplayPair("Alpha", true),
            new TypeDisplayPair("Beta", false)
        };

        InitializeComponent();
    }
公共窗口1()
{
DataContext=this;
DisplayTypes=新的ObservableCollection()
{
新的TypeDisplayPair(“Alpha”,真),
新类型显示对(“Beta”,false)
};
初始化组件();
}
它的工作原理与预期一致

    public Window1()
    {
        DataContext = this;
        DisplayTypes = new ObservableCollection<TypeDisplayPair>()
        {
            new TypeDisplayPair("Alpha", true),
            new TypeDisplayPair("Beta", false)
        };

        InitializeComponent();
    }