Xceed Datagrid不会绑定到Xceed控件的DataTemplate

时间:2016-04-29 00:05:25

标签: datagrid datatemplate xceed

我定义了以下DataTemplates。 TextBlock适用于xctk:ShortUpDown不支持。事实上,每当我使用来自另一个命名空间的控件时,它都不起作用(即没有数据显示或更新

    <DataTemplate x:Key="intDataTemplate">
        <TextBlock Text="{Binding StringFormat=\{0:F0\}}"/>
    </DataTemplate>
    <DataTemplate x:Key="hexDataTemplate">
        <xctk:ShortUpDown ParsingNumberStyle="HexNumber"/>
    </DataTemplate>

这些是列定义。没有CellEditorTemplate可用。

            <xcdg:Column FieldName="Coefficient" Width="75" 
                         CellContentTemplate="{StaticResource hexDataTemplate}"  ReadOnly="False"/>
            <xcdg:Column FieldName="Measured" Width="75" CellHorizontalContentAlignment="Right"
                         CellContentTemplate="{StaticResource intDataTemplate}" />

那里似乎没有很多示例代码。列是自动生成的。

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

CellContentTemplate仅用于显示目的。如果你在其中放置一个用于编辑的控件,比如ShortUpDown,你会得到奇怪的结果。 编辑器控件应该在CellEditor中定义。另外,不要忘记设置CellEditorBinding以将其连接到基础值。

<xcdg:CellEditor x:Key="hexCellEditor">
    <xcdg:CellEditor.EditTemplate>
        <DataTemplate>
            <xctk:ShortUpDown Value="{xcdg:CellEditorBinding}" ParsingNumberStyle="HexNumber"/>
        </DataTemplate>
    </xcdg:CellEditor.EditTemplate>
</xcdg:CellEditor>

<xcdg:Column FieldName="Measured" CellEditor="{StaticResource hexCellEditor}" ... />