我试图将按钮,形状或任何控件或UserControl
放置在Datagrid
上作为覆盖。我想要的是将其放置在特定的行和列索引处。例如,我想将其放置在第2行,它应该覆盖2列,第3列和第4列。
<Canvas Grid.Row="1" Name="CanvasContainer" Background="CadetBlue" AllowDrop="True" Drop="Canvas_Drop">
<DataGrid Name="DataGrid" AllowDrop="True"
Height="{Binding ActualHeight, ElementName=CanvasConstatainer}"
Width="{Binding ActualWidth, ElementName=CanvasContainer}">
</DataGrid>
<Button Visibility="Visible" Name="LayerBtn" Width="100" Height="30"
PreviewMouseLeftButtonUp="btn_PreviewMouseLeftButtonUp"
PreviewMouseMove="btn_PreviewMouseMove"
MouseMove="btn_MouseMove"
PreviewMouseLeftButtonDown="btn_PreviewMouseLeftButtonDown" Canvas.Left="111" Canvas.Top="69">
Layer
</Button>
</Canvas>
我只是写了这样的代码。看到我正在使用按钮作为覆盖,但是它可以是任何控件或usercontrol
。我想做如下图所示的操作。
答案 0 :(得分:0)
我认为这是不可能的。使用DataGrid时,必须定义所使用的列类型。通常在通过DataTAble传递数据时,默认情况下会放置DataGridTextBoxColumn,它会考虑所有Text。
但是您可以定义其他类型的列,例如,DataGridComboBox列或DataGridCheckboxColumn,它们可以让您至少部分地想要在此处完成
。尽管如此,您可以定义自己的列,该列可以完全满足您的要求。但这不是一件容易的事。