【问题标题】:WPF Populate Combobox in a DataGrid from integer valuesWPF 从整数值填充 DataGrid 中的组合框
【发布时间】:2013-04-16 10:03:59
【问题描述】:

这似乎是一个简单的问题,但我无法弄清楚。 风景:

在 C#/WPF/MVVM 中,我有一个显示一些数据的 DataGrid。一个字段(一行的一个单元格)是一个整数值。现在我需要为该单元格显示一个组合框,如果值为 0,则显示“本地”,如果值为 1 或更大,则显示“网络”。这个怎么绑定?

谢谢。

【问题讨论】:

    标签: c# wpf mvvm datagrid


    【解决方案1】:

    您应该可以使用DataGridTemplateColumn Template 来执行此操作。

    以下是帮助示例:

        <DataGrid Grid.Row="0"  
                  AutoGenerateColumns="False" Height="Auto" 
                  SelectionMode="Single" ItemsSource="{Binding MyViewItemModels}"  
                      RowDetailsVisibilityMode="Collapsed" HeadersVisibility="Column" CanUserAddRows="False" 
                      GridLinesVisibility="None" AlternationCount="2" AlternatingRowBackground="GhostWhite" Background="White">
    
            <DataGrid.Columns>
    
                <DataGridTemplateColumn IsReadOnly="True" MinWidth="50" Width="70" >
                    <DataGridTemplateColumn.Header>
                        <Border Height="30">
                            <Label Content="My Name"/>
                        </Border>
                    </DataGridTemplateColumn.Header>
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <ComboBox Height="16" ItemsSource="{Binding MyItems, Mode=OneWay}" />
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>
            </DataGrid.Columns>
        </DataGrid>
    

    【讨论】:

    • 问题是我必须在“SelectedValue”中设置的内容
    • @Riccardo :那是基于你的逻辑。您可以公开/绑定SelectedValue 的另一个属性并将您的逻辑写入其set
    猜你喜欢
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    相关资源
    最近更新 更多