2

アプリケーションに 2 つの画像 (車とオートバイ) とテキスト ボックスがあります。テキストボックスに車を書くと、画像の車が選択され(青または赤の境界線を作成することで表示されます)、もう一方(オートバイ)は灰色の効果を持つはずです。

テキストボックスにオートバイと書くと、その逆が起こるはずです。つまり、オートバイには境界があり、車はグレー表示されているはずです。誰も私がそれを可能にする方法を知っていますか?

4

1 に答える 1

1

画像で次のようなアプローチを使用します

    <Border BorderThickness="2">
        <Border.Style>
            <Style TargetType="{x:Type Border}">
                <Setter Property="BorderBrush" Value="LightGray"/>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding ElementName=targetTextBox, Path=Text}" Value="Car">
                        <Setter Property="BorderBrush" Value="Red"/>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
        </Border.Style>
        <Image>
            <Image.Style>
                <Style TargetType="{x:Type Image}">
                    <Setter Property="Opacity" Value="0.4"/>
                    <Style.Triggers>
                        <DataTrigger Binding="{Binding ElementName=targetTextBox, Path=Text}" Value="Car">
                            <Setter Property="Opacity" Value="1"/>
                        </DataTrigger>
                    </Style.Triggers>
                </Style>
            </Image.Style>
        </Image>
    </Border>

必要な他のプロパティを設定することもできます。これらの値を条件付きで変更する s を定義する内部にデフォルト値を設定することを忘れないでくださいStyleDatatrigger

于 2013-02-08T14:41:33.117 に答える