【问题标题】:Silverlight: Set ComBox index which is inside of a DataGrid from codeSilverlight:从代码中设置位于 DataGrid 内部的 ComBobox 索引
【发布时间】:2014-11-29 00:32:12
【问题描述】:

是否可以从代码中设置ComBox 的索引,该索引位于DataGrid 中? Silverlight 中的ComboBox 应该使用DataGridColumnTemplate 添加到DataGrid,因此SetValue() 方法将不起作用,因为它指向模板而不是组合框。另一方面,我不能只命名ComboBox 并将其设置为选定索引,因为它是一个对象,然后更改将应用​​于表中的所有组合框。

XAML 示例代码:

     <sdk:DataGrid x:Name="DG" HorizontalAlignment="Left" Height="421" Margin="10,58,0,0" VerticalAlignment="Top" Width="680" ColumnWidth="*" AutoGenerateColumns="False">
        <sdk:DataGrid.Columns>
            <sdk:DataGridTemplateColumn Header="Test">
                <sdk:DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <ComboBox Name="CB" >
                            <ComboBoxItem>1</ComboBoxItem>
                            <ComboBoxItem>2</ComboBoxItem>
                            <ComboBoxItem>3</ComboBoxItem>
                             ....
                        </ComboBox>
                    </DataTemplate>
                </sdk:DataGridTemplateColumn.CellTemplate>
            </sdk:DataGridTemplateColumn>
        </sdk:DataGrid.Columns>
    </sdk:DataGrid>

【问题讨论】:

    标签: c# wpf silverlight datagrid combobox


    【解决方案1】:

    你应该为此使用绑定

    假设您有一个绑定到 DataGrid 的 ItemsSource 的项目集合,如下所示

    public class GridItem
    {
        public int IndexOfSelectedItem { get; set; }
    }
    

    你的 ComboBox 的 SelectedIndex 可以这样设置:

    <ComboBox SelectedIndex="{Binding IndexOfSelectedItem, Mode=TwoWay}" 
    

    【讨论】:

    • 但是你怎么能拥有索引设置不同的组合框呢?例如,第一行中的组合框的索引设置为 1,第二行的索引设置为 12,...
    猜你喜欢
    • 2010-11-23
    • 2011-04-28
    • 2014-05-26
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多