相关疑难解决方法(0)

使用WPF实现日志查看器

我寻求有关使用WPF实现控制台日志查看器的最佳方法的建议.

它应符合以下标准:

  • 快速滚动100.000+行
  • 某些条目(如stacktraces)应该是可折叠的
  • 长项包裹
  • 列表可以按不同的标准(搜索,标签等)进行过滤
  • 在最后,它应该在添加新项目时继续滚动
  • 线元素可以包含某种添加格式,如超链接和出现计数器

总的来说,我有一些想法,如FireBug和Chrome的控制台窗口.

我玩这个但是我没有取得多大进展,因为...... - 数据网格无法处理不同的项目高度 - 滚动位置仅在释放滚动条后更新(这是完全不可接受的).

我很确定,我需要某种形式的虚拟化,并希望遵循MVVM模式.

欢迎任何帮助或指示.

c# wpf performance user-interface scroll

71
推荐指数
2
解决办法
4万
查看次数

ListBoxItem中的复杂UI

在WPF中,我可以添加任何UI到ListBoxItem通过提供的S ListBoxItemTemplate:

 <ListBox ItemsSource="{Binding}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border BorderThickness="1" BorderBrush="Gray" CornerRadius="8" Padding="4,0,4,0">
                        <Grid>
                            <Grid.ColumnDefinitions>
                                <ColumnDefinition Width="50"/>
                                <ColumnDefinition/>
                            </Grid.ColumnDefinitions>

                            <Grid.RowDefinitions>
                                <RowDefinition/>
                                <RowDefinition/>
                                <RowDefinition/>
                            </Grid.RowDefinitions>

                            <CheckBox Grid.Column="1" Content="Is Active Customer" IsChecked="{Binding IsActive}"/>

                            <Label Content="Id:" Grid.Row="1" HorizontalAlignment="Right"/>
                            <Label Content="Name:" Grid.Row="2" HorizontalAlignment="Right"/>

                            <TextBox Text="{Binding Id}" Grid.Row="1" Grid.Column="1"/>
                            <TextBox Text="{Binding Name}" Grid.Row="2" Grid.Column="1"/>
                        </Grid>
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
Run Code Online (Sandbox Code Playgroud)

结果是:

在此输入图像描述

有没有办法在Windows窗体中实现相同的功能?

编辑:

1 -有什么办法,以实现在Windows窗体一样,同时保持separation of concerns之间ViewApplication Logic以这样的方式,如果我后来想完全重新定义View,我就不必重构整个应用程序?

2 - winforms是否支持数据绑定,使得我的每一个ListBoxItems都可以绑定到一个复杂的Entity,最终包括从Model数据到UI数据的中间类型转换,然后返回,这样我就不必写入大量的样板代码填充视图,然后将UI值传回模型以便保存? …

.net c# listbox listboxitem winforms

10
推荐指数
1
解决办法
4050
查看次数

标签 统计

c# ×2

.net ×1

listbox ×1

listboxitem ×1

performance ×1

scroll ×1

user-interface ×1

winforms ×1

wpf ×1