WPF:如何将数字属性绑定到 DataGridTextColumn?
我认为这对于 WPF 来说应该是一件简单的事情,但我无法让它工作...... 我的类中有一个 int 属性(Divisions),我想将它绑定到 DataGrid 列。
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Number of Divisions" Binding="{Binding Path=Divisions, StringFormat={}\{0:N0\}}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
但是,它没有显示出来。 我也尝试了这段代码,它对我也不起作用:
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Divisions" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Divisions, StringFormat=C}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
为了测试目的,如果我向此类添加一个字符串属性以返回 Divisions 的字符串值,它就可以正常工作。那么,这里出了什么问题呢?
I thought it should be a simple thing for WPF, but I can't make it work...
I have an int property (Divisions) on my class and I want to bind it to a DataGrid column.
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Number of Divisions" Binding="{Binding Path=Divisions, StringFormat={}\{0:N0\}}" IsReadOnly="True"/>
</DataGrid.Columns>
</DataGrid>
However, it doesn't show up.
I also tried this code and it doesn't work for me either:
<DataGrid AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Divisions" IsReadOnly="True">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Path=Divisions, StringFormat=C}" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
For testing purpse, if I add a string property to this class to return string value of Divisions, it just works fine. So, what's wrong here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
有趣...我能够使用以下示例(在 VS 2010,.NET 4 中)轻松地完成工作。
我的网格定义:
设置数据上下文:
我的数据类定义:
希望这有帮助!
Interesting... I was able to get things to work easily using the following (in VS 2010, .NET 4) example.
My Grid Definition:
Setting the Data Context:
My Data Class Definition:
Hope this helps!
我不相信您正确指定了 StringFormats。
在第一个示例中,尝试删除转义字符,如下所示:
StringFormat={}{0:N0}
在第二个中:
StringFormat={}{0:C}
I don't believe you're specifying your StringFormats correctly.
In the first example, try dropping the escape characters, like so:
StringFormat={}{0:N0}
In the second:
StringFormat={}{0:C}