DevExpress WPF使用技巧教程:格式化通過(guò)CellToolTipBinding定義的工具提示值
下載DevExpress v20.1完整版 DevExpress v20.1漢化資源獲取
通過(guò)DevExpress WPF Controls,您能創(chuàng)建有著強(qiáng)大互動(dòng)功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋?dāng)代客戶的需求和構(gòu)建未來(lái)新一代支持觸摸的解決方案。
遇到的問(wèn)題
有以下xaml,并且正在將CellToolTipBinding與標(biāo)準(zhǔn)StringFormat一起使用,但是未應(yīng)用StringFormat。目前有許多具有不同數(shù)據(jù)類型的列,它們會(huì)受到影響么?這是不是一個(gè)bug?
<dxg:GridControl ItemsSource="{Binding ItemsSource}" > <dxg:GridControl.View> <dxg:TableView AllowGrouping="False" ShowGroupPanel="False" AllowEditing="False"/> </dxg:GridControl.View> <dxg:GridControl.Columns> <dxg:GridColumn FieldName="Date" CellToolTipBinding="{Binding Date, StringFormat='ddd, d MMM yyyy'}"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings DisplayFormat="yyyy-MM-dd"/> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="Calculation" CellToolTipBinding="{Binding Calculation, StringFormat='N4'}"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings DisplayFormat="N2"/> </dxg:GridColumn.EditSettings> </dxg:GridColumn> </dxg:GridControl.Columns> </dxg:GridControl>
解決方案:
綁定機(jī)制的StringFormat功能僅在目標(biāo)屬性的類型為String時(shí)才有效。 如果您嘗試在標(biāo)準(zhǔn)Label控件中綁定Content屬性,則會(huì)看到此功能也不起作用:Label Content上的WPF StringFormat。 發(fā)生這種情況是因?yàn)镃ontent屬性屬于Object類型,CellTooltipBinding中綁定定義的目標(biāo)屬性是Tooltip屬性,該屬性的類型也是Object。
要格式化工具提示值,您需要在這些綁定表達(dá)式中定義一個(gè)自定義轉(zhuǎn)換器。 或者,考慮使用我們的DXBinding:
<dxg:GridColumn FieldName="Date" CellToolTipBinding="{DXBinding Expr='Date.ToString(`ddd, d MMM yyyy`)'}"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings DisplayFormat="yyyy-MM-dd"/> </dxg:GridColumn.EditSettings> </dxg:GridColumn> <dxg:GridColumn FieldName="Calculation" CellToolTipBinding="{DXBinding Expr='Calculation.ToString(`N4`)'}"> <dxg:GridColumn.EditSettings> <dxe:TextEditSettings DisplayFormat="N2"/> </dxg:GridColumn.EditSettings> </dxg:GridColumn>
有關(guān)DXBinding及其語(yǔ)言語(yǔ)法的更多信息,請(qǐng)參考以下資料:
DXBinding
Language Specification
DevExpress技術(shù)交流群2:775869749 歡迎一起進(jìn)群討論
DevExpress文檔控件公開(kāi)課第一彈報(bào)名通道開(kāi)啟,40分鐘教你入門(mén)(Spreadsheet)控件!