1

dataGrid次のXAMLを使用して検索しようとしました

<DataGrid x:Name="grid" local:DataGridTextSearch.SearchValue="{Binding ElementName=SearchBox, Path=Text, UpdateSourceTrigger=PropertyChanged}" 
          ItemsSource="{Binding TestData}" >
    <DataGrid.Resources>
        <local:SearchValueConverter x:Key="SearchValueConverter" />
        <Style TargetType="{x:Type DataGridRow}">
            <Setter Property="local:DataGridTextSearch.IsTextMatch">
                <Setter.Value>
                    <MultiBinding Converter="{StaticResource SearchValueConverter}">
                        <Binding RelativeSource="{RelativeSource Self}" Path="DataContext.MyProperty" />
                        <Binding RelativeSource="{RelativeSource Self}" Path="(local:DataGridTextSearch.SearchValue)" />
                    </MultiBinding>
                </Setter.Value>
            </Setter>
            <Style.Triggers>
                <Trigger Property="local:DataGridTextSearch.IsTextMatch" Value="True">
                    <Setter Property="IsSelected" Value="True" />
                </Trigger>
            </Style.Triggers>
        </Style>
    </DataGrid.Resources>
</DataGrid>

私はここからそれを手に入れました

DataGridしかし、定義されていないエラーが表示されます。だから私はに変更<DataGrid>しました<my:DataGrid>

これで、1 行目に次のエラーが表示されます。

そして、行番号の別のエラー。3 : タイプ local:SearchValueConverter が見つかりませんでした。アセンブリ参照が欠落していないこと、およびすべての参照アセンブリがビルドされていることを確認してください。

私のウィンドウの XAML は次のようになります。

<Window x:Class="Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="532" xmlns:my="clr-namespace:Microsoft.Windows.Controls;assembly=WPFToolkit">
    <Grid>
        <TextBox Height="29" Margin="104,22,147,0" Name="txt" VerticalAlignment="Top" AutoWordSelection="True" />
        <my:DataGrid x:Name="grid" local:DataGridTextSearch.SearchValue="{Binding ElementName=SearchBox, Path=Text, UpdateSourceTrigger=PropertyChanged}" 
              ItemsSource="{Binding TestData}" >
            <my:DataGrid.Resources>
                <local:SearchValueConverter x:Key="SearchValueConverter" />
                <Style TargetType="{x:Type DataGridRow}">
                    <Setter Property="local:DataGridTextSearch.IsTextMatch">
                        <Setter.Value>
                            <MultiBinding Converter="{StaticResource SearchValueConverter}">
                                <Binding RelativeSource="{RelativeSource Self}" Path="DataContext.MyProperty" />
                                <Binding RelativeSource="{RelativeSource Self}" Path="(local:DataGridTextSearch.SearchValue)" />
                            </MultiBinding>
                        </Setter.Value>
                    </Setter>
                    <Style.Triggers>
                        <Trigger Property="local:DataGridTextSearch.IsTextMatch" Value="True">
                            <Setter Property="IsSelected" Value="True" />
                        </Trigger>
                    </Style.Triggers>
                </Style>
            </my:DataGrid.Resources>
        </my:DataGrid>
    </Grid>
</Window>
4

1 に答える 1