【问题标题】:Default DataGridComboBoxColumn ControlTemplate默认 DataGridComboBoxColumn ControlTemplate
【发布时间】:2018-03-21 06:13:33
【问题描述】:

在不打扰您的情况下,有人可以指出我在哪里可以获得默认的 DataGridComboBoxColumn ControlTemplate。我确信必须有一个控件模板或某种针对 DataGridComboBoxColumn 的样式,否则微软是如何构建 DataGridComboBoxColumn 的。

【问题讨论】:

    标签: wpf xaml datagrid


    【解决方案1】:

    不用担心我打算做什么

    我认为这不是那么不重要,因为这些建议在 MSDN 页面DataGridComboBoxColumn Class

    表示一个 DataGrid 列,该列在其承载 ComboBox 控件 细胞。

    如果您想在 DataGrid 中使用其他控件,您可以创建 使用 DataGridTemplateColumn 您自己的列类型。

    对于ComboBox 的样式(也为ControlTemplate!),您可以使用DataGridComboBoxColumnElementStyleEditingElementStyle 属性。

    您可以在此处找到 ComboBox 的默认模板:ComboBox Styles and Templates

    小例子:

    <DataGridComboBoxColumn.ElementStyle>
        <Style TargetType="{x:Type ComboBox}">
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="ComboBox">
                        <TextBlock Text={Binding SomePropertyOfYourRowDataContext}/>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </DataGridComboBoxColumn.ElementStyle>
    

    【讨论】:

    【解决方案2】:

    谁能指出我在哪里可以获得默认的DataGridComboBoxColumnControlTemplate

    DataGridComboBoxColumn 不是Control,因此它没有ControlTemplate

    它在其GenerateEditingElement 方法中创建一个ComboBox,当DataGridComboBoxColumn 的单元格处于编辑模式时,您会看到这个ComboBoxhttps://referencesource.microsoft.com/#PresentationFramework/src/Framework/System/Windows/Controls/DataGridComboBoxColumn.cs,90924e66a85fbfa4

    【讨论】:

      猜你喜欢
      • 2013-05-23
      • 1970-01-01
      • 2015-02-28
      • 2012-04-26
      • 2019-01-22
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2019-01-16
      相关资源
      最近更新 更多