我是xaml和c#beginner我遇到了Silverlight应用程序的情况我得到了这个错误我正在尝试使用xaml创建列(我不必使用c#或任何动态)。
这是我的代码:
<UserControl x:Class="DEV_CENTER.ProgramGrid"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:data="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data"
xmlns:dataprimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=System.Windows.Controls.Data"
xmlns:vm="clr-namespace:ViewModel;assembly=ViewModel"
mc:Ignorable="d"
d:DesignHeight="300" d:DesignWidth="400">
<UserControl.Resources>
<vm:ProgramViewModel x:Key="ProgramViewModel"/>
</UserControl.Resources>
<data:DataGrid x:Name="gridPrograms"
Grid.Row="0"
AutoGenerateColumns="False"
ItemsSource="{Binding Path=ListPrograms }"
IsReadOnly="True"
DataContext="{StaticResource ProgramViewModel}">
<data:DataGridTextColumn Header="c1"
Binding="{Binding Version}"
Width="2*"/>
<data:DataGridTextColumn Header="c2"
Binding="{Binding Live}"
Width="2*"/>
<data:DataGridTextColumn Header="c3"
Binding="{Binding DateCreation}"
Width="2*"/>
<data:DataGridTextColumn Header="..." Width="*"/>
</data:DataGrid.Columns>
</data:DataGrid>
</UserControl>
我收到错误:the type DataGrid doesn't support direct Content
编辑:问题是由于缺少<data:DataGrid.Columns>
已解决,但第二个问题是如何绑定列?
有人可以给我解决方案吗?我的意思是我必须仅使用xaml创建列(而不是c#)并绑定它们。怎么做 ?
感谢
答案 0 :(得分:3)
该消息表示您不允许在DataGrid
的开始和结束标记之间放置任何内容,只要您没有“寻址”DataGrid
属性,就会错过开始标记{ {1}}:
<data:DataGrid.Columns>