- 在绑定时给字段的数据类做转换用
- 样例:
public enum CycleType : int
{
单次 = 0,
每天 = 1,
每周 = 2,
每月 = 3,
每年 = 4
}
public class CyclePlanTypeConverter : IValueConverter
{
#region IValueConverter Members
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
int v = (int)value;
return ((Common.CycleType)v).ToString();
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
//System.Windows.Browser.HtmlPage.Window.Alert("ConvertBack");
return value;
}
#endregion
}
//引用
xmlns:localVM="clr-namespace:UIForWin1.VM"
//
<UserControl.Resources>
<local_model:CyclePlanTypeConverter x:Key="CyclePlanTypeConverter1" />
</UserControl.Resources>(注意:UserControl.Resources无法在ChildWindow里使用,请以用户控件的方式植入ChildWindow)
//注意上面部分必须放在使用处的上面
<sdk:DataGrid AutoGenerateColumns="False" Name="dataGrid1" Margin="6,6,6,36" ItemsSource="{Binding Path=Data, Mode=TwoWay}" Grid.Row="2">
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="备注" Binding="{Binding Path=Note}" Width="Auto" CanUserReorder="True" CanUserResize="True" CanUserSort="False" />
<sdk:DataGridTextColumn Header="服务地址" Binding="{Binding Path=SvrAddress}" Width="Auto" CanUserReorder="True" CanUserResize="True" CanUserSort="False" />
<sdk:DataGridTextColumn Header="服务端口" Binding="{Binding Path=SvrPort}" CanUserReorder="True" CanUserResize="True" CanUserSort="False" Width="Auto" />
<sdk:DataGridTextColumn Header="定时周期类型" Binding="{Binding Path=CyclePlanType, Converter={StaticResource CyclePlanTypeConverter1}}" CanUserReorder="True" CanUserResize="True" CanUserSort="False" Width="Auto" />
</sdk:DataGrid.Columns>
</sdk:DataGrid>