WPF数据表格。通过UI编辑已经使用ValueConverter转换的值 [关闭] 。

问题描述 投票:-2回答:1

我有一个数据表格,其中有一列 "总金额",这是一个双类型,通过IValueConverter转换为带有"$"符号和逗号的货币类型。这是一个双类型,并通过IValueConverter转换为带有"$"符号和逗号的货币类型。

(1)但是单元格需要是可编辑的,这样用户就可以对该行进行修改,包括金额。如何做到这一点?现在,编辑会冻结应用程序(并不奇怪),因为我不知道如何处理这个问题。

(2)如果用户添加了新的行,并在其中添加了一个新的项目。我如何在值前加上$符号,并在用户输入时在相关位置加上逗号?

注意。 一个变通的办法是,我想把TotalAmount属性本身作为一个字符串,当我需要执行任何操作时,就转换为双倍。同时增加一个验证,确保用户输入的是双数类型。但我仍然不知道如何实现第2点。

c# wpf data-binding converters ivalueconverter
1个回答
0
投票

这里的关键是使用 CellTemplate & CellEditingTemplate

感谢: 链接1 & 链接2

我的解决方案是将以上两个组合为------。

<DataGridTemplateColumn Header="Total Amount">
    <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding Path=TotalAmount, Converter={StaticResource CurrencyConverter}}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
        <DataTemplate>
            <TextBox Text="{Binding Path=TotalAmount, StringFormat=\{0:N2\},UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}"/>
        </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
© www.soinside.com 2019 - 2024. All rights reserved.