C# WPF问题,也许很简单

程序可以正常运行,就是在XAML的界面上不能正常显示。错误提示是:错误“AllowSpin”属性已经由“Xceed_Wpf_Toolkit_Primitives_UpDo... 程序可以正常运行,就是在XAML的界面上不能正常显示。错误提示是:错误“AllowSpin”属性已经由“Xceed_Wpf_Toolkit_Primitives_UpDownBase`1_0_179376704”注册。 UIControls F:\FTDWorkPlace\UIControls\UI_Control\SubControl\TimeDivisionRateGeneral.xaml 49 展开
 我来答
376710727
2016-09-24 · TA获得超过8937个赞
知道大有可为答主
回答量:2593
采纳率:100%
帮助的人:1280万
展开全部

你这里在xaml界面前端引入了一个自定义控件<xctk:Timepicker>

所以在你写完这句代码的时候,这个控件就已经被编译执行了。

如果你再去指定这个控件的某些操作,就会发现这种“XX属性已被注册”的异常,造成设计视图不可用。


两种解决办法, 

1、控件暴露的属性不要去重复定义, 尤其是事件不要去重复定义。

2、使用后台动态加载控件, 可以通过编译器来处理错误(但是和MVVM理念稍有出入,更接近Winform的做法),

前端声明一个区域 如<stackPanel name="mySpace"/> 放到你需要显示控件的位置,

然后在后台实例化一个控件

var mypicker = new xctk.TimePicker();
mySpace.Children.Add(mypicker);

就可以达到一样的效果了,而且编译器会帮你检查错误。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式