首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >默认DataGridComboBoxColumn ControlTemplate

默认DataGridComboBoxColumn ControlTemplate
EN

Stack Overflow用户
提问于 2018-03-21 14:13:33
回答 2查看 452关注 0票数 2

在不打扰你我打算做的事情的情况下,有人能指出我在哪里可以得到默认的DataGridComboBoxColumn ControlTemplate吗?我确信肯定有一个控件模板或某种针对DataGridComboBoxColumn的样式,否则微软是如何构建DataGridComboBoxColumn的。

EN

回答 2

Stack Overflow用户

发布于 2018-03-21 17:01:10

而不用我打算做的事情来打扰你

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

表示一个DataGrid列,在其单元格中承载ComboBox控件

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

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

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

小示例:

代码语言:javascript
复制
<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>
票数 1
EN

Stack Overflow用户

发布于 2018-03-21 23:04:17

有人能指出我在哪里可以得到默认的DataGridComboBoxColumn ControlTemplate吗?

DataGridComboBoxColumn不是Control,因此它没有ControlTemplate

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49399418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档