silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Silverlight学习笔记第一季(3)扯扯ComboBox大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_3@概述  ComboBox是为了完成这么一个任务: 以下拉框的形式展现,供你选 择其中的一项。但通常展示给用户看到文字,不是我们直接要操作的数据。 需求: 在DataForm中实现添加一个新的帖子。需要一个ComboBox选择他所属的板块。 效果图: 问题 1如何使用COR_57_11845@boBox和DataForm. 特别是使ComboBox 显示板块名字,选中的值是板块的ID ,又更新到帖子的所属ID。 2Combo
@H_616_7@

 ComboBox是为了完成这么一个任务:

以下拉框的形式展现,供你选 择其中的一项。但通常展示给用户看到文字,不是我们直接要操作的数据。

需求:

在DataForm中实现添加一个新的帖子。需要一个ComboBox选择他所属的板块。

效果图:

Silverlight学习笔记第一季(3)扯扯ComboBox

问题

1如何使用COR_57_11845@boBox和DataForm.

特别是使ComboBox 显示板块名字,选中的值是板块的ID ,又更新到帖子的所属ID。

2ComboBox无法把选中的值更新到DataForm的数据源?

解决

1通过看他的英语应该可以看得懂是什么意思。

DisplaymemberPath  获取或设置为每个数据项显示属性名称或路径。 (ComboBox 显示板块名字)

SELEctedValuePath    获取或设置用于获取 SELEctedItem 属性SELEctedValue 属性属性路径。

                              (选中的值是板块的ID)

SELEctedValue    获取或设置通过使SELEctedValuePath 而获得的选定项的值。  (又更新到帖子的所属ID

Silverlight学习笔记第一季(3)扯扯ComboBox

DataForm

注: Loaded="CB_Section_Loaded" 实现从数据库读取并绑定到控件。这不是本文的重点所以不加细说。

2

但是通过方法1    ComboBox无法把选中的值更新到DataForm的数据源。

即使我添加了如下代码

这时候可以为他添加了事件

  SELEctionChanged="CB_Section_SELEctionChanged"

@H_197_99@
   
   
private void CB_Section_SELEctionChanged( object sender,SELEctionChangedEventArgs E)
{
ComboBox tpcomboBox
= sender as ComboBox;
sectionid
( int )tpcomboBox.SELEctedValue;
var post
dF_Post.CurrentItem KF_Pic;
post.SectionID
sectionid;
}
@H_403_127@

这样是可以实现的。

也就在写到这里的时候,我再次检查了代码,发现没有加mode

于是更改了如下代码

SELEctedValue="{Binding Path=SectionID,Mode=TwoWay}"

OK,他自动更新数据源了。原来认是单向绑定的。。。汗

思路和实现都有了。

 

扩展与疑惑

1ComboBox有个属性  IsSynchronizedWithCurrentItem

来自MSDN的解释

获取或设置指示 Selector 是否应当使 SelectedItem 与 Items 属性中的当前项保持同步的值。 (继承自 Selector。)

不管我设置的true or false 我更新了数据源或者直接更新了项他都会更新,

这个我也不太说得清,大家可以试试,或者告诉我下。

比较愚钝没有看到他到底哪里起作用了。希望知道的朋友不吝赐教,最好给个例子。。。(比较懒)

下面是我找一个链接

http://www.cnblogs.com/jax/archive/2007/03/29/693359.html

 

2#为ComboBox实现SELEctedValue属性

http://www.cnblogs.com/blackcore/archive/2010/04/21/1717655.html

 

3也算是题外话 昨天我同学问我一个 jbuilder的一个Java的问题,

我排错的时候,发现他所有的都是可以去看他的源码的,当时那个感慨啊,

发现Java和C#的开发思维都有些不同,做JAVA 对于一个不懂的方法 可以跑进去看源码,看他怎么实现的。

c#却大多不能(想起之前看MVC源码时感觉真的不错。。。),感觉.NET的时候却只能在黑箱外面。。感觉不爽。

问下,silverlight 的控件开放源码吗?

大佬总结

以上是大佬教程为你收集整理的Silverlight学习笔记第一季(3)扯扯ComboBox全部内容,希望文章能够帮你解决Silverlight学习笔记第一季(3)扯扯ComboBox所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。