3

Validation.HasErrorテキストボックスのボタンを有効/無効にしたい。(絵コンテ付)

私は次の方法でそれをやろうとしました:

絵コンテ:

<Window.Resources>
    <Storyboard x:Key="SB" x:Name="SB">
       <BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.IsEnabled)">
          <DiscreteBooleanKeyFrame KeyTime="0" Value="False"/>
        </BooleanAnimationUsingKeyFrames>
    </Storyboard>
</Window.Resources>

Textbox: (Num にバインド - int のみ)

 <TextBox x:Name="txt1" Grid.Row="1" Text="{Binding Num}" Height="50" Width="200">

ボタン:

<Button x:Name="Btn1"  Height="50" Width="200" Content="My Button">
            <Button.Style>
                <Style>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding ElementName=txt1, Path=Validation.HasError}" Value="True">
                            <DataTrigger.EnterActions>
                                <BeginStoryboard Storyboard="{StaticResource SB}"/>
                            </DataTrigger.EnterActions>
                            <DataTrigger.ExitActions>
                                <RemoveStoryboard BeginStoryboardName="SB"/>
                            </DataTrigger.ExitActions>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Button.Style>
        </Button>

それは動作しません。

次の TextBox に Style を配置すると、機能します (TextBox は許可されません)。

  <TextBox x:Name="txt1" Grid.Row="1" Text="{Binding Num}" Height="50" Width="200">
        <TextBox.Style>
            <Style>
                <Style.Triggers>
                    <Trigger Property="Validation.HasError" Value="True">
                        <Trigger.EnterActions>
                            <BeginStoryboard Storyboard="{StaticResource SB}"/>
                        </Trigger.EnterActions>
                        <Trigger.ExitActions>
                            <RemoveStoryboard BeginStoryboardName="SB"/>
                        </Trigger.ExitActions>
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>
    </TextBox>

問題は、このようにトリガーに SourceName を設定できず、同じようにボタンに配置できないことです。

私がそれを行うと、エラーが発生します:

SourceName プロパティは、Style.Triggers セクション内では設定できません。

私はいくつかの助けが欲しい...

4

1 に答える 1