0

コントロールテンプレートを使用したスタイルがあり、コンパイルに問題があります。アタッチされた動作をトリガーしようとしています。コントロールテンプレートトリガーに入れると正常に動作しますが、テキストボックストリガーに入れると、次のようなビルドエラーが発生します。

タイプ「TextBoxBehavior」で静的メンバー「SelectAllProperty」が見つかりません

これが私のコードです:

    <Style x:Key="RenamingTextBox" TargetType="{x:Type TextBox}">
                <Style.Setters>
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type TextBox}">
                                <Grid>
                                    <TextBlock x:Name="block" Visibility="Visible" Text="{TemplateBinding Text}" Margin="0"/>
                                    <TextBox x:Name="box" Visibility="Collapsed" Text="{TemplateBinding Text}" Margin="0">
                                        <TextBox.Triggers>
                                            <Trigger Property="Visibility" Value="Visible">
                                                <Trigger.Setters>
                                                    <Setter TargetName="box" Property="FocusManager.FocusedElement" Value="{Binding RelativeSource={RelativeSource Self}}"/>

<!-- This next line gives an error even though it is the same format as the one below -->
                                                    <Setter Property="behaviors:TextBoxBehavior.SelectAll" Value="True"/>
                                                </Trigger.Setters>                                            
                                            </Trigger>
                                        </TextBox.Triggers>
                                    </TextBox>
                                </Grid>
                                <ControlTemplate.Triggers>
                                    <DataTrigger Binding="{Binding IsRenaming}" Value="true">
                                        <DataTrigger.Setters>
                                            <Setter TargetName="block" Property="TextBox.Visibility" Value="Collapsed" />
                                            <Setter TargetName="box" Property="TextBox.Visibility" Value="Visible" />
<!-- Uncommenting below works fine -->
                                            <!--<Setter TargetName="box" Property="behaviors:TextBoxBehavior.SelectAll" Value="True"/>-->
                                        </DataTrigger.Setters>
                                    </DataTrigger>
                                </ControlTemplate.Triggers>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style.Setters>
            </Style>

一方がビルドエラーを出し、もう一方がエラーを出さない理由について何か考えはありますか?

4

1 に答える 1

0

気にしないでください。代わりに、テキストボックスのトリガーをスタイルに配置する必要がありました。

<TextBox x:Name="box" Visibility="Collapsed" Text="{TemplateBinding Text}" Margin="0">
                                    <TextBox.Style>
                                        <Style TargetType="{x:Type TextBox}" BasedOn="{StaticResource {x:Type TextBox}}">
                                            <Style.Triggers>
                                                <Trigger Property="Visibility" Value="Visible">
                                                    <Setter Property="FocusManager.FocusedElement" Value="{Binding RelativeSource={RelativeSource Self}}"/>
                                                    <Setter Property="behaviors:TextBoxBehavior.SelectAll" Value="True"/>
                                                </Trigger>
                                            </Style.Triggers>
                                        </Style>
                                    </TextBox.Style>
                                </TextBox>
于 2012-04-20T17:57:51.867 に答える