视觉工作室喜欢搜索

时间:2017-02-21 07:33:20

标签: wpf visual-studio

我想像搜索一样实现Visual Studio。现在我想让它搜索我的UserControls,点击它就可以在Tab中打开它们。 我不是在寻找代码,只是为了正确的指导方针和正确的术语来尝试实现这一点。 谢谢你的任何建议。

示例:

Example

1 个答案:

答案 0 :(得分:0)

要在UserControl集合中搜索,我会使用LINQ

List<UserControl> results = (from UserControl control in list_of_usercontrols where (control.SomeParameter.ToLower().Contains(SearchParameter) || control.OtherParameter.ToLower().Contains(SearchParameter)) && nnn.IsEnabled select nnn).Distinct().ToList();

为了显示结果,我强烈推荐ListView。我用它在我的WPF应用程序中显示结果,它非常快。

listView1.ItemsSource = results;

您可以为ItemTemplate设置ListView

<ListView Grid.Row="1" Name="listView1" BorderThickness="0" SelectionMode="Single"  >
    <ListView.ItemTemplate>
        <DataTemplate>
            <Grid>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Label FontSize="15" >
                    <StackPanel Orientation="Horizontal">
                        <TextBlock Text="{Binding SomeProperty}"></TextBlock>
                        <TextBlock Text="{Binding OtherProperty}"></TextBlock>
                        <TextBlock Text="{Binding ThirdProperty}" ></TextBlock>                 
                    </StackPanel>
                </Label>
                <Label Content="{Binding FourthProperty}" Grid.Row="1" Padding="5,0,0,5"></Label>
            </Grid>
        </DataTemplate>
    </ListView.ItemTemplate>
</ListView>