如何创建WPF DataGrid文本+按钮列?

时间:2012-05-16 12:07:36

标签: wpf datagrid datatemplate wpfdatagrid

我希望数据网格中的列显示文本和小的省略号“...”按钮 - 类似于您在Visual Studio属性网格中看到的内容。这是我正在尝试构建的datagrid列的模型:

Mockup

当用户单击省略号按钮时,我将显示一个自定义选择器对话框,然后在该列的文本部分中,显示从对话框返回的逗号分隔值(即字符串)。

我如何让datagrid列包含我在这里模拟的文本和按钮?

3 个答案:

答案 0 :(得分:1)

搜索DataGridTemplateColumn。

答案 1 :(得分:0)

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0">
        <Grid.Resources>
            <DataTemplate x:Key="mDataTemplate">
                <Button Margin="10,10,0,0" >
                    <Button.Content>
                        <Grid x:Name="ButtonGrid" Height="Auto" HorizontalAlignment="Left" VerticalAlignment="Top">                                
                            <Grid.RowDefinitions>
                                <RowDefinition Height="Auto" />
                                <RowDefinition Height="Auto" />                                    
                            </Grid.RowDefinitions>
                            <TextBlock  />
                            <Ellipse />                                
                        </Grid>
                    </Button.Content>
                </Button>
            </DataTemplate>
        </Grid.Resources> </Grid>

答案 2 :(得分:0)

您必须使用DataGridTemplateColumn

示例代码:

<DataGrid>
  <DataGrid.Columns>
    <DataGridTemplateColumn Header="Your header">
      <DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
          <DockPanel>
            <Button DockPanel.Dock="Right">...</Button>
            <TextBlock Text="{Binding YourProperty}"></TextBlock>
          </DockPanel>
        </DataTemplate>
      </DataGridTemplateColumn.CellTemplate>
    </DataGridTemplateColumn>
  </DataGrid.Columns>
</DataGrid>