[英]WPF datagrid binding error on datagridtextcolumn.ElementStyle
I wrote the below code in wpf datagrid 我在wpf datagrid中编写了以下代码
<DataGridTextColumn Binding="{Binding comments}" Width="350" Header="Comments" IsReadOnly="False" >
<DataGridTextColumn.ElementStyle>
<Style>
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
<Setter Property="TextBlock.TextAlignment" Value="Left"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
And getting the error below, but the grid is working fine. 并得到下面的错误,但网格工作正常。 Can anyone please help me to identify why I am getting the below error.
谁能帮我确定为什么我遇到以下错误。
System.Windows.Data Error: 40 : BindingExpression path error: 'comments' property not found on 'object' ''DataRowView' (HashCode=43816328)'.
System.Windows.Data错误:40:BindingExpression路径错误:在'object''DataRowView'(HashCode = 43816328)'上找不到'comments'属性。 BindingExpression:Path=comments;
BindingExpression:路径=意见; DataItem='DataRowView' (HashCode=43816328);
DataItem ='DataRowView'(HashCode = 43816328); target element is 'TextBlock' (Name='');
目标元素是'TextBlock'(Name =''); target property is 'Text' (type 'String')
目标属性为“文本”(类型为“字符串”)
Please post a Minimal, Complete, and Verifiable example that reproduces your issue. 请发布一个最小,完整和可验证的示例来重现您的问题。
The code below works fine for me. 下面的代码对我来说很好。
DataItem.cs DataItem.cs
public class DataItem
{
public string A => "AAAAAAAAAA AAAAAAAAAA";
public string B => "BBBBBBBBBB";
public string C => "CCCCCCCCCC";
}
MainViewModel.cs MainViewModel.cs
public class MainViewModel
{
public MainViewModel()
{
DataItems = new List<DataItem>();
for (var i = 1; i <= 20; i++)
_dataItemList.Add(new DataItem());
}
public List<DataItem> DataItems {get;}
}
MainView.xaml MainView.xaml
<Window ...>
<Window.DataContext>
<local:MainViewModel/>
</Window.DataContext>
<DataGrid Margin="16" ItemsSource="{Binding DataItems}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="A" Binding="{Binding A}" Width="100">
<DataGridTextColumn.ElementStyle>
<Style>
<Setter Property="TextBlock.TextWrapping" Value="Wrap" />
<Setter Property="TextBlock.TextAlignment" Value="Left"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
<DataGridTextColumn Header="B" Binding="{Binding B}"/>
<DataGridTextColumn Header="C" Binding="{Binding C}"/>
</DataGrid.Columns>
</DataGrid>
</Window>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.