我面临一个我认为很容易解决的问题,但是......事实并非如此简单。
以下是这种情况:我创建了一个自定义UserControl
,它继承自WPFToolkit的DataGrid
(我需要在.NET 3.5中工作:/)。
此控件是显示财务值的矩阵,用户应该能够选择显示格式(百分比,绝对值,1或2位小数的百分比......)。
而且......也许我在这里只是愚蠢,但我无法解决它。
我的控件有一个自定义DependencyProperty
,其中包含完整的市场数据参考,然后将参考的特定部分分派给特定属性(例如,价格差异转到ItemsSource
)。
由于用户可以更改显示的内容(价格,价格差异,昨天的价格,其他随机财务资料......),显示格式将定期更改,并且应允许用户自行选择。
我的手机只关注Style
中定义的ResourceDictionary
:
<Style x:Key="CellStyle" TargetType="{x:Type tk:DataGridCell}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type tk:DataGridCell}">
<Grid Background="{TemplateBinding Background}">
<ContentPresenter
HorizontalAlignment="Center"
VerticalAlignment="Center"/>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我不会使用Binding
的{{1}}因为我没有绑定StringFormat
(我在市场参照属性发生变化时将其设置在代码中)
我已经看过this answer, proposing a converter
了然而,似乎我不知道应该在哪里添加转换器到单元格...
有什么想法吗?
谢谢!
答案 0 :(得分:1)
我最终通过在Binding
中添加逻辑步骤解决了这个问题:现在我将ÌtemsSource
设置为string[]
,这是从原始double[]
生成的,使用需要时ToString(CurrentFormat)
:)