0

我在数据表单中有一个 silverlight 组合框,如下所示:

    <dataControls:DataForm x:Name="newScheduleMasterForm" Height="350" Width="450"  MinWidth="400"
                           VerticalAlignment="Top"    
                           CommandButtonsVisibility="None"
                           Header="Add New Master Schedule"
                           HorizontalAlignment="Left" AutoGenerateFields="False" ContentLoaded="newScheduleMasterForm_ContentLoaded"  >
        <dataControls:DataForm.EditTemplate>
            <DataTemplate>
                <StackPanel>
                    <dataControls:DataField>
                        <ComboBox x:Name="cbScheduleType" SelectedItem="{Binding Schedule, Mode=TwoWay}" SelectedIndex = "0"
                              ItemsSource="{Binding GetScheduleTypeValues, Source={StaticResource validDataSource}}"
                        />
                    </dataControls:DataField>
                </StackPanel>
            </DataTemplate>
        </dataControls:DataForm.EditTemplate>
    </dataControls:DataForm>

组合框 cbScheduleType ItemsSource 具有“Interior”和“Exterior”值。我无法在组合框的文本框中显示默认选择值“Interior”。有没有办法做到这一点。

提前感谢莫希特

4

2 回答 2

1

问题是您同时尝试设置 SelectedIndex 和绑定 Selected Item。我只需在代码隐藏的构造函数中将 Schedule 设置为 Interior 并删除 SelectedIndex 属性。

于 2009-12-21T17:11:33.000 回答
0

默认 Silverlight ComboBox 控件中的 SelectedItem 属性的数据绑定存在一些问题。

通过创建从 ComboBox 继承并添加 SelectedValue 依赖项属性的自定义控件来解决此问题的一种方法。

There's a good example of this on Rockford Lhotka's blog at: http://www.lhotka.net/weblog/SilverlightComboBoxControlAndDataBinding.aspx

于 2009-12-22T15:16:37.527 回答