0
A
回答
1
您可以指定一個ContextMenu到DataGrid本身的「空白」區域,但它也將出現您右鍵任何行點擊,如果你沒有一個不同的上下文菜單分配給行(或「DataGrid.RowStyle」屬性)。
'解決方法'是專門爲行分配不同的上下文菜單。
<DataGrid>
<DataGrid.ContextMenu>
<ContextMenu>
<MenuItem Header="Menu Item in Blank Area" />
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="ContextMenu">
<Setter.Value>
<ContextMenu>
<MenuItem Header="Menu Item just for Populated Rows" />
</ContextMenu>
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowStyle>
</DataGrid>
1
基於對前面的回答您的意見,我知道你想設置一個文本菜單上你的頭,和一個獨立的一個爲你的細胞和空的空間。我能夠通過重寫模板來設置單獨ContextMenus:
<Window x:Class="Apc_System_Generator.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Grid.Resources>
<ResourceDictionary>
<ContextMenu x:Key="cmenu">
<MenuItem Header="FOO" />
<MenuItem Header="BAR" />
</ContextMenu>
<ContextMenu x:Key="omenu">
<MenuItem Header="LOL" />
<MenuItem Header="WUT" />
</ContextMenu>
</ResourceDictionary>
</Grid.Resources>
<DataGrid Name="LOL" AutoGenerateColumns="True" ContextMenu="{StaticResource cmenu}">
<DataGrid.Template>
<ControlTemplate TargetType="{x:Type DataGrid}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<DataGridColumnHeadersPresenter Grid.Row="0" ContextMenu="{StaticResource omenu}" />
<DataGridRowsPresenter Background="gray" Grid.Row="1" IsItemsHost="True" />
</Grid>
</ControlTemplate>
</DataGrid.Template>
</DataGrid>
</Grid>
</Window>
相關問題
- 1. AutoCAD .NET:用網格/自定義填充區域填充區域
- 2. 突出顯示錶格單元但沒有填充區域
- 3. UITableView單元格未被填充
- 4. 未填充綁定的DataGrid
- 5. 如何更改DataGrid內的單元格上的填充 - VB.NET
- 6. Mapster填充區域
- 7. ZedGraph填充區域
- 8. 在Java中填充單擊的區域
- 9. 視覺格式語言 - 填充區域
- 10. Advanceddatagrid單元格填充
- 11. 垂直單元格填充
- 12. 填充UITableView單元格iOS8
- 13. Phpexcel填充空單元格
- 14. 如何停止表格單元格邊框與單元格的填充區域重疊?
- 15. 使用空格填充單詞以填充單元格
- 16. WPF DataGrid更改未使用區域的單元格背景顏色
- 17. WPF DataGrid填充單元格,因爲它們變得可見
- 18. wpf datagrid單元格背景顏色不完全填充
- 19. 在WPF窗口中填充DataGrid的區域
- 20. 如何填充表格中每個單元格的填充?
- 21. iOS Storyboard:UITableView在單元格之前有一個神祕的填充區域
- 22. 用黑色填充區域
- 23. openlayers填充空白區域
- 24. SQL:找填充區域
- 25. GridBagLayout不填充區域
- 26. 用孔填充區域
- 27. 填充PDFP表格單元格用點
- 28. 使textarea填充表格單元格
- 29. DataGridview單元格未填滿
- 30. 單擊時填充單元格
的理念是相同的上下文菜單分配給細胞並沒有填充細胞(標記爲「本」上的圖像)的區域。和其他上下文菜單到標題。這就是爲什麼我問這個問題。 – MikroDel
請更新您的原始問題以反映這一點。答案仍然是一樣的;您將爲元素創建一個上下文菜單(這將影響DataGrid中的所有元素,包括空白區域和單元格),併爲您要覆蓋的特定事物(在此情況下爲Header)指定一個不同的元素, –
BTownTKD