-3
IEnumerable<string> peopleWithInvalidAge =
                    (from age in User
                     where age < 0
                     select name ).Distinct();

MessageBox.show("The people who have invalid age are {0}" , string.Join(", ", peopleWithInvalidAge) )

这会将输出显示为 string 。但我想要的是输出应该以表格形式显示。调用 MessageBox.show 时带有名称和年龄。

如果我们可以在消息框内突出显示,那也很棒

请帮忙。

4

3 回答 3

1

在 WPF 中,您必须创建 Window

Xaml

<my:Datagrid x:Name="test" xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit" CanUserAddRows="True" ItemsSource="{Binding}" AutoGenerateColumns="False">  
    <my.DataGrid.Columns> 
        <my:DataGridTextColumn Header="Your Collection" Binding="{Binding}"/>  
    </my.DataGrid.Columns> 
</my:Datagrid> 

代码隐藏

public Window()  
{  
    InitializeComponent();  

    test.DataContext = peopleWithInvalidAge ;  
}
于 2012-10-09T17:29:00.900 回答
1

您可以为此使用窗口,使用 showdialg,使用您想要的按钮和数据网格(使其像 MessageBox)并使用 Dialog 结果,

只是一个想法

于 2012-10-09T17:32:18.060 回答
1

这是针对 WPF

对于格式化可以使用 Window。
您可以在 ctor 中传递 IEnumerable。
Window.ShowDialog 是模态的。

Window.ShowDialog 方法

Window1 win = new Window1(new List<string> { "john", "susan" });
win.ShowDialog();

public Window1(IEnumerable<string> names)
{
    Names = names;
    InitializeComponent();
}
public IEnumerable<string> Names { get; private set; }

<Window x:Class="ListViewUpdate.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        DataContext="{Binding RelativeSource={RelativeSource self}}"
        Title="Window1" Height="300" Width="300">
<Grid>
    <ListView ItemsSource="{Binding Path=Names}" />
</Grid>
</Window>

版主有三个部分要提问。
模态、传递数据和格式化。
另一个答案没有解决模态或将数据传递到窗口。
我在创建传递和格式化示例时发布。

于 2012-10-09T17:58:52.317 回答