修改绑定DataGrid的结果



我们需要更改Binding enum

的值结果

的例子:

public enum Speed
{
   _256kbps,
   _512kbps
}

,我们希望将其绑定到DataGrid,结果为256kbps,而不使用'-'破折号

<sdk:DataGrid SelectedItem="{Binding SelectedBandwidthPlan, Mode=TwoWay}" ItemsSource="{Binding BandwidthPlans}" Margin="10,95,10,33" AutoGenerateColumns="False">
            <sdk:DataGrid.Columns>
                <sdk:DataGridTextColumn Header="ID" Binding="{Binding BandwidthPlanID}"/>
                <sdk:DataGridTextColumn Header="AccountType" Binding="{Binding AccountType}"/>
                <sdk:DataGridTextColumn Header="BandwidthType" Binding="{Binding BandwidthType}"/>
                <sdk:DataGridTextColumn Header="Description" Binding="{Binding Description}"/>
                <sdk:DataGridTextColumn Header="Speed" Binding="{Binding Speed}"/>
                <sdk:DataGridTextColumn Header="Price" Binding="{Binding Price}"/>
            </sdk:DataGrid.Columns>
            <!--Events for datagrid bound to ViewModel-->
            <!--<i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding OnFilterExecute}"></i:InvokeCommandAction>
                </i:EventTrigger>
            </i:Interaction.Triggers>-->
        </sdk:DataGrid>

(是否有办法或)我们如何修改绑定到数据网格的输出?

要做到这一点,您需要编写一个转换器类,将枚举转换为用户友好的字符串值。

首先在代码中创建转换器类,然后在前端标记中引用它。

下面是一个教程,可以指导您完成它:http://timheuer.com/blog/archive/2008/07/30/format-data-in-silverlight-databinding-valueconverter.aspx

最新更新