gpt4 book ai didi

c# - WPF : Custom Datagrid inside combobox

转载 作者:行者123 更新时间:2023-11-30 22:05:50 25 4
gpt4 key购买 nike

我有一个 View ,其中有一个数据网格,在数据网格中,我将一列作为 DataGridTemplateColumn。我将一个组合框放在 DataGridTemplate 列中,我在组合框中定义了一个数据模板。因此,用户可以在组合框中输入文本结果过滤到 CustomeDatagrid 中,用户可以在 CustomeDatagrid 上选择 Item。

这是我的要求: enter image description here

我努力实现它。这是我的 XAML:

<DataGrid AutoGenerateColumns="False"
ItemsSource="{Binding OrderItems}"
AlternatingRowBackground="{DynamicResource InflowDataGridAlternateBackgroundBrush>
<DataGrid.Columns>
<DataGridTemplateColumn Width="200" Header="Item">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ProductName,Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox>
<ComboBox.ItemTemplate>
<DataTemplate>
<vw:CustomDatagrid />
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

自定义数据网格:

<UserControl x:Class="RH_Maize.View.CustomDatagrid"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d" Width="590" Height="251">
<Grid Background="{DynamicResource GridBackgroundBrush}">
<DataGrid>
<DataGrid.Columns>
<DataGridTextColumn MinWidth="150" Header="Category"/>
<DataGridTextColumn MinWidth="180" Header="Item"/>
<DataGridTextColumn MinWidth="130" Header="Rate"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</UserControl>

但是当我点击 DatagridTemplate 列时,我只得到普通的组合框,没有自定义 Datagrid。

我的代码有什么问题吗?

如何在 wpf 的组合框中实现上述(图像)CustomDatagrid?

编辑:

当通过绑定(bind)更改组合框文本时如何填充 customDataGrid?

最佳答案

ComboBox 中不需要 ItemTemplate

 <DataGrid AutoGenerateColumns="False" Name="tstgrid"
ItemsSource="{Binding OrderItems}"
>
<DataGrid.Columns>
<DataGridTemplateColumn Width="200" Header="Item">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding ProductName,Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox>
<vw:CustomDatagrid />
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>

关于c# - WPF : Custom Datagrid inside combobox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24074846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com