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

本文介绍如何使用C#及XAML配置WPF中的自定义地图控件的缩放属性,包括通过Settings设置默认值的方法,并提供了三种不同的绑定示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


如上图,我有一个自定义控件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}} "   />

http://greatverve.cnblogs.com/archive/2011/06/27/wpf-Properties-Settings.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值