Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.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#_.net_Wpf_Binding_Itemssource - Fatal编程技术网

C# WPF绑定噩梦

C# WPF绑定噩梦,c#,.net,wpf,binding,itemssource,C#,.net,Wpf,Binding,Itemssource,所以我有一节课 public class ObjectDataModel { public ObservableCollection<ObjectClassA> MyObjectCollection; } public class ObjectClassA { public ObjecttypeA myobject; public BitmapImage mybmp; } 公共类ObjectDataModel { 公共可观测集合MyObjectCollec

所以我有一节课

public class ObjectDataModel
{
    public ObservableCollection<ObjectClassA> MyObjectCollection;
}

public class ObjectClassA
{
    public ObjecttypeA myobject;
    public BitmapImage mybmp;
}
公共类ObjectDataModel
{
公共可观测集合MyObjectCollection;
}
公共类ObjectClassA
{
公共对象类型为myobject;
公共位图图像mybmp;
}
现在我有了一个网格控件,它的
ItemsSource
我希望绑定到
MyObjectCollection
myObject


如何做到这一点?

您是否尝试过实现这一点,如果是的话,那么如果您可以发布您的XAML代码,那就太好了

据我所知,这是使用这门课的正确方法-

    <ItemsControl
        Margin="5,0,5,5"
        ItemsSource="{Binding Path=MyObjectCollection}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Grid >
                    <TextBlock
                        Grid.Column="0"
                        Margin="0,5,0,0"
                        Width="Auto"
                        Text="{Binding Path=myobject.Property1}" />
                </Grid>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

您是否尝试过实现这一点,如果是的话,那么如果您可以发布您的XAML代码,那就太好了

据我所知,这是使用这门课的正确方法-

    <ItemsControl
        Margin="5,0,5,5"
        ItemsSource="{Binding Path=MyObjectCollection}">
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Grid >
                    <TextBlock
                        Grid.Column="0"
                        Margin="0,5,0,0"
                        Width="Auto"
                        Text="{Binding Path=myobject.Property1}" />
                </Grid>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

您必须将您的绑定目标公开为属性,而不是字段(就像您当前所做的那样)


您必须将您的绑定目标公开为属性,而不是字段(就像您当前所做的那样)



若要在此基础上展开,这些属性需要getter和setter,您希望更改的任何数据都需要实现INotifyPropertyChanged并引发PropertyChanged事件,以便数据绑定知道如何更新值。若要在此基础上展开,这些属性需要getter和setter,您希望更改的任何数据都需要实现INotifyPropertyChanged并引发PropertyChanged事件,以便数据绑定知道如何更新该值。