我想将ObservableCollection
绑定到wpf datagrid。
我的ObservableCollection
不为空,但是,我的数据网格保持为空:
public partial class Fenetre_EvtCode : Window
{
ObservableCollection<EvtCode> glb_ObservableEvtCode;
public Fenetre_EvtCode()
{
InitializeComponent();
EvtCode myEvt = new EvtCode();
glb_ObservableEvtCode = myEvt.GetAllEvtCode();
}
}
这是我的xaml:
<DataGrid Foreground="Aqua"
Name="myDataGridEvtCode"
AutoGenerateColumns="True"
HorizontalAlignment="Stretch"
Margin="0,0,0,0"
VerticalAlignment="Stretch"
Height="453"
ItemsSource="{Binding glb_ObservableEvtCode}" />
我再说一遍:我查看了调试,我的ObservableCollection
不是空的。
任何人都知道为什么ma datagrid保持空白?
答案 0 :(得分:16)
您需要绑定到公共财产。
public ObservableCollection<EvtCode> ObservableEvtCode
{
get
{
return this.glb_ObservableEvtCode;
}
}
和XAML:
<DataGrid
...
DataContext="{Binding RelativeSource={RelativeSource AncestorType=Window}}"
ItemsSource="{Binding ObservableEvtCode}" >
</DataGrid>
修改:另请参阅此answer
答案 1 :(得分:0)
我的情况,如果这可以帮助任何人:
Class的数据成员也应该是公共属性。