下拉框使用DataTemplate作为内容的情况下,怎么绑定其中某一个控件

下拉框使用DataTemplate作为内容的情况下,如何绑定其中某一个控件?
本帖最后由 MusVision 于 2015-04-24 09:03:34 编辑
比如以下代码,实现了一个下拉选择颜色的代码,下拉列表里面有颜色的图示与颜色的名字两个元素,如果想通过选择的颜色更换窗体背景颜色,需要如何进行Binding?能否通过binding到Rectangle元素的背景值而对窗体背景进行修改?

        <ComboBox Name="cmbColors">
            <ComboBox.ItemTemplate>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">
                        <Rectangle Name="test" Fill="{Binding Name}" Width="16" Height="16" Margin="0,2,5,2" />
                        <TextBlock Text="{Binding Name}" />
                    </StackPanel>
                </DataTemplate>
            </ComboBox.ItemTemplate>
        </ComboBox>


cmbColors.ItemsSource = typeof(Colors).GetProperties();

代码效果如下:
下拉框使用DataTemplate作为内容的情况下,怎么绑定其中某一个控件
进一步问题,如果遇到这样元素下包含DataTemplate的情况,该如何bindding DataTemplate中的元素, 如下图中选定一个Item,Label通过binding标签显示combobox中的单词?
下拉框使用DataTemplate作为内容的情况下,怎么绑定其中某一个控件
------解决思路----------------------
在changed  事件中 根据  链接;http://blog.****.net/duanzi_peng/article/details/17094639
中的获取  子元素的方法,找到你的label
------解决思路----------------------
1:combon的selectedchanged事件,读取combobox的selecteditem,强转为Color类型
2:数据绑定,Label的Content绑定到combobox的selectitem属性,可能需要一个converter辅助转换类型