gpt4 book ai didi

c# - WPF 简单表格布局

转载 作者:行者123 更新时间:2023-11-30 15:37:30 26 4
gpt4 key购买 nike

我想为我正在处理的 WPF 项目创建一个简单的布局。 Table layout

我尝试设计 Datagrid 和 GridView 的样式,但它们都无法按我的意愿工作,而且我不希望项目可编辑/可选择,或列可排序或类似的东西。基本上我只想要一个没有花里胡哨的简单动态表格布局。

如有任何关于如何重现此内容的建议,我们将不胜感激。

更新:我需要基于 ObservableCollection 的动态行数

最佳答案

使用 HeaderedItemsControl、XAML

    <!-- templates -->

<DataTemplate x:Key="itemWithDeleteButton">
<Grid Width="Auto">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=DocumentName, Mode=OneWay}" />
<Button Grid.Column="1" Command="{Binding DeleteCommand}"/>
</Grid>
</DataTemplate>

<Style TargetType="{x:Type HeaderedItemsControl}" x:Key="DeletedGrid">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type HeaderedItemsControl}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="100"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="20"/>
<RowDefinition Height="4*"/>
</Grid.RowDefinitions>
<TextBlock Grid.Column="0" Grid.Row="0" Text="Document Name"
VerticalAlignment="Center"
FontWeight="Bold"/>
<TextBlock Grid.Column="1" Grid.Row="0" Text="Actions"
VerticalAlignment="Center"
FontWeight="Bold"/>
<Grid Grid.Row="1" Grid.ColumnSpan="2" Width="Auto" Height="Auto" Background="White">
<ItemsPresenter/>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>

<!-- control -->

<HeaderedItemsControl Style="{StaticResource DeletedGrid}" Margin="0,0,0,10"
Grid.Row="4" Grid.ColumnSpan="2" ItemTemplate="{StaticResource itemWithDeleteButton}"
ItemsSource="{Binding GridData}">

View 模型

    public class GridItem
{
public string DocumentName { get; set; }
public ICommand DeleteCommand { get; set; }
}

public class MyViewModel
{
public ObservableCollection<GridItem> GridData { get; set; }
}

关于c# - WPF 简单表格布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12493784/

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