WPF绑定到Properties.Settings的几种方法


如上图,我有一个自定义控件Map,它拥有四个用于控制地图缩放的依赖属性,允许用户App.Config来修改默认值,

所以在程序里用Settings.settings设定。

1.C#代码方式

Binding binding  =   new  Binding( " MapZoom " );
binding.Source 
=  Properties.Settings.Default;
map.SetBinding(Map.ZoomProperty, binding);
binding 
=   new  Binding( " MapZoomMax " );
binding.Source 
=  Properties.Settings.Default;
map.SetBinding(Map.ZoomMaxProperty, binding);
binding 
=   new  Binding( " MapZoomMin " );
binding.Source 
=  Properties.Settings.Default;
map.SetBinding(Map.ZoomMinProperty, binding);
binding 
=   new  Binding( " MapZoomSpan " );
binding.Source 
=  Properties.Settings.Default;
map.SetBinding(Map.ZoomSpanProperty, binding);

 from:http://greatverve.cnblogs.com/archive/2011/06/27/wpf-Properties-Settings.html

2.XAML方式(推荐)
xmlns:Properties="clr-namespace:Application1.Properties"
< Views:Map  DockPanel.Dock ="Top"  
 Zoom
=" {Binding Path=MapZoom,Source={x:Static Properties:Settings.Default}} "  
 ZoomMax
=" {Binding Path=MapZoomMax,Source={x:Static Properties:Settings.Default}} "  
 ZoomMin
=" {Binding Path=MapZoomMin,Source={x:Static Properties:Settings.Default}} "  
 ZoomSpan
=" {Binding Path=MapZoomSpan,Source={x:Static Properties:Settings.Default}} "   />
3.XAML方式,通过 ObjectDataProvider
xmlns:local="clr-namespace:Application1"

<ObjectDataProvider x:Key="OdpSettings" ObjectType="{x:Type local:Properties.Settings}"></ObjectDataProvider>

< Views:Map  DockPanel.Dock ="Top"  
 Zoom
=" {Binding Path=Default.MapZoom,Source={StaticResource OdpSettings}} "  
 ZoomMax
=" {Binding Path=Default.MapZoomMax,Source={StaticResource OdpSettings}} "  
 ZoomMin
=" {Binding Path=Default.MapZoomMin,Source={StaticResource OdpSettings}} "  
 ZoomSpan
=" {Binding Path=Default.MapZoomSpan,Source={StaticResource OdpSettings}} "   />

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值